#include <OSGBlendChunk.h>

Public Types | |
| enum | { SrcFactorFieldId = Inherited::NextFieldId, DestFactorFieldId = SrcFactorFieldId + 1, EquationFieldId = DestFactorFieldId + 1, ColorFieldId = EquationFieldId + 1, AlphaFuncFieldId = ColorFieldId + 1, AlphaValueFieldId = AlphaFuncFieldId + 1, AlphaSrcFactorFieldId = AlphaValueFieldId + 1, AlphaDestFactorFieldId = AlphaSrcFactorFieldId + 1, NextFieldId = AlphaDestFactorFieldId + 1 } |
| typedef BlendChunkPtr | Ptr |
| enum | { IgnoreFieldId = Inherited::NextFieldId, NextFieldId = IgnoreFieldId + 1 } |
| enum | { ParentsFieldId = Inherited::NextFieldId, InternalFieldId = ParentsFieldId + 1, NextFieldId = InternalFieldId + 1 } |
| enum | { NextFieldId = 1 } |
Public Member Functions | |
Chunk Class Access | |
| virtual const StateChunkClass * | getClass (void) const |
Sync | |
| virtual void | changed (BitVector whichField, UInt32 origin) |
Output | |
| virtual void | dump (UInt32 uiIndent=0, const BitVector bvFlags=0) const |
State Commands | |
| virtual void | activate (DrawActionBase *action, UInt32 index=0) |
| virtual void | changeFrom (DrawActionBase *action, StateChunk *old, UInt32 index=0) |
| virtual void | deactivate (DrawActionBase *action, UInt32 index=0) |
| virtual bool | isTransparent (void) const |
Comparison | |
| virtual Real32 | switchCost (StateChunk *chunk) |
| virtual bool | operator< (const StateChunk &other) const |
| virtual bool | operator== (const StateChunk &other) const |
| virtual bool | operator!= (const StateChunk &other) const |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Field Get | |
| SFGLenum * | getSFSrcFactor (void) |
| Get the BlendChunk::_sfSrcFactor field. | |
| SFGLenum * | getSFDestFactor (void) |
| Get the BlendChunk::_sfDestFactor field. | |
| SFGLenum * | getSFEquation (void) |
| Get the BlendChunk::_sfEquation field. | |
| SFColor4f * | getSFColor (void) |
| Get the BlendChunk::_sfColor field. | |
| SFGLenum * | getSFAlphaFunc (void) |
| Get the BlendChunk::_sfAlphaFunc field. | |
| SFReal32 * | getSFAlphaValue (void) |
| Get the BlendChunk::_sfAlphaValue field. | |
| SFGLenum * | getSFAlphaSrcFactor (void) |
| Get the BlendChunk::_sfAlphaSrcFactor field. | |
| SFGLenum * | getSFAlphaDestFactor (void) |
| Get the BlendChunk::_sfAlphaDestFactor field. | |
| GLenum & | getSrcFactor (void) |
| Get the value of the BlendChunk::_sfSrcFactor field. | |
| const GLenum & | getSrcFactor (void) const |
| Get the value of the BlendChunk::_sfSrcFactor field. | |
| GLenum & | getDestFactor (void) |
| Get the value of the BlendChunk::_sfDestFactor field. | |
| const GLenum & | getDestFactor (void) const |
| Get the value of the BlendChunk::_sfDestFactor field. | |
| GLenum & | getEquation (void) |
| Get the value of the BlendChunk::_sfEquation field. | |
| const GLenum & | getEquation (void) const |
| Get the value of the BlendChunk::_sfEquation field. | |
| Color4f & | getColor (void) |
| Get the value of the BlendChunk::_sfColor field. | |
| const Color4f & | getColor (void) const |
| Get the value of the BlendChunk::_sfColor field. | |
| GLenum & | getAlphaFunc (void) |
| Get the value of the BlendChunk::_sfAlphaFunc field. | |
| const GLenum & | getAlphaFunc (void) const |
| Get the value of the BlendChunk::_sfAlphaFunc field. | |
| Real32 & | getAlphaValue (void) |
| Get the value of the BlendChunk::_sfAlphaValue field. | |
| const Real32 & | getAlphaValue (void) const |
| Get the value of the BlendChunk::_sfAlphaValue field. | |
| GLenum & | getAlphaSrcFactor (void) |
| Get the value of the BlendChunk::_sfAlphaSrcFactor field. | |
| const GLenum & | getAlphaSrcFactor (void) const |
| Get the value of the BlendChunk::_sfAlphaSrcFactor field. | |
| GLenum & | getAlphaDestFactor (void) |
| Get the value of the BlendChunk::_sfAlphaDestFactor field. | |
| const GLenum & | getAlphaDestFactor (void) const |
| Get the value of the BlendChunk::_sfAlphaDestFactor field. | |
Field Set | |
| void | setSrcFactor (const GLenum &value) |
| Set the value of the BlendChunk::_sfSrcFactor field. | |
| void | setDestFactor (const GLenum &value) |
| Set the value of the BlendChunk::_sfDestFactor field. | |
| void | setEquation (const GLenum &value) |
| Set the value of the BlendChunk::_sfEquation field. | |
| void | setColor (const Color4f &value) |
| Set the value of the BlendChunk::_sfColor field. | |
| void | setAlphaFunc (const GLenum &value) |
| Set the value of the BlendChunk::_sfAlphaFunc field. | |
| void | setAlphaValue (const Real32 &value) |
| Set the value of the BlendChunk::_sfAlphaValue field. | |
| void | setAlphaSrcFactor (const GLenum &value) |
| Set the value of the BlendChunk::_sfAlphaSrcFactor field. | |
| void | setAlphaDestFactor (const GLenum &value) |
| Set the value of the BlendChunk::_sfAlphaDestFactor 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 |
Chunk Class Access | |
| UInt32 | getClassId (void) const |
State | |
| virtual void | update (DrawActionBase *action) |
Field Get | |
| SFBool * | getSFIgnore (void) |
| Get the StateChunk::_sfIgnore field. | |
| bool & | getIgnore (void) |
| Get the value of the StateChunk::_sfIgnore field. | |
| const bool & | getIgnore (void) const |
| Get the value of the StateChunk::_sfIgnore field. | |
Field Set | |
| void | setIgnore (const bool &value) |
| Set the value of the StateChunk::_sfIgnore field. | |
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 | |
Static Chunk Class Access | |
| static UInt32 | getStaticClassId (void) |
| static const StateChunkClass * | getStaticClass (void) |
Class Get | |
| static FieldContainerType & | getClassType (void) |
| access the type of the class | |
| static UInt32 | getClassTypeId (void) |
| access the numerical type of the class | |
Construction | |
| static BlendChunkPtr | create (void) |
| create a new instance of the class | |
| static BlendChunkPtr | 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 | SrcFactorFieldMask |
| static const osg::BitVector | DestFactorFieldMask |
| static const osg::BitVector | EquationFieldMask |
| static const osg::BitVector | ColorFieldMask |
| static const osg::BitVector | AlphaFuncFieldMask |
| static const osg::BitVector | AlphaValueFieldMask |
| static const osg::BitVector | AlphaSrcFactorFieldMask |
| static const osg::BitVector | AlphaDestFactorFieldMask |
| static const osg::BitVector | MTInfluenceMask |
| static const osg::BitVector | IgnoreFieldMask |
| 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 | |
| BlendChunk (void) | |
| BlendChunk (const BlendChunk &source) | |
Destructors | |
| virtual | ~BlendChunk (void) |
Sync | |
| void | executeSyncImpl (BlendChunkBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| void | executeSyncImpl (StateChunkBase *pOther, 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 | |
| SFGLenum | _sfSrcFactor |
| SFGLenum | _sfDestFactor |
| SFGLenum | _sfEquation |
| SFColor4f | _sfColor |
| SFGLenum | _sfAlphaFunc |
| SFReal32 | _sfAlphaValue |
| SFGLenum | _sfAlphaSrcFactor |
| SFGLenum | _sfAlphaDestFactor |
Fields | |
| SFBool | _sfIgnore |
Fields | |
| SFBool | _sfInternal |
| MFFieldContainerPtr | _parents |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef BlendChunkBase | Inherited |
Private Member Functions | |
| void | operator= (const BlendChunk &source) |
Static Private Member Functions | |
| static void | initMethod (void) |
Static Private Attributes | |
| static StateChunkClass | _class |
OpenGL Extension Handling | |
| static UInt32 | _extBlend |
| static UInt32 | _extImaging |
| static UInt32 | _extBlendSubtract |
| static UInt32 | _extBlendMinMax |
| static UInt32 | _extBlendLogicOp |
| static UInt32 | _extBlendFuncSeparate |
| static UInt32 | _funcBlendColor |
| static UInt32 | _funcBlendEquation |
| static UInt32 | _funcBlendEquationExt |
| static UInt32 | _funcBlendFuncSeparateExt |
Friends | |
| class | FieldContainer |
| class | BlendChunkBase |
This chunk wraps glBlendFunc() (osg::BlendChunk::_sfSrcFactor, osg::BlendChunk::_sfDestFactor), glBlendEquation() or glBlendEquationEXT() (whichever is supported) (osg::BlendChunk::_sfEquation), glBlendColor() (osg::BlendChunk::_sfColor) and glAlphaFunc() (osg::BlendChunk::_sfAlphaFunc, osg::BlendChunk::_sfAlphaValue) including glEnable(GL_ALPHA_TEST).
Definition at line 55 of file OSGBlendChunk.h.
typedef BlendChunkBase osg::BlendChunk::Inherited [private] |
typedef BlendChunkPtr osg::BlendChunkBase::Ptr [inherited] |
anonymous enum [inherited] |
| SrcFactorFieldId | |
| DestFactorFieldId | |
| EquationFieldId | |
| ColorFieldId | |
| AlphaFuncFieldId | |
| AlphaValueFieldId | |
| AlphaSrcFactorFieldId | |
| AlphaDestFactorFieldId | |
| NextFieldId |
Definition at line 99 of file OSGBlendChunkBase.h.
00100 { 00101 SrcFactorFieldId = Inherited::NextFieldId, 00102 DestFactorFieldId = SrcFactorFieldId + 1, 00103 EquationFieldId = DestFactorFieldId + 1, 00104 ColorFieldId = EquationFieldId + 1, 00105 AlphaFuncFieldId = ColorFieldId + 1, 00106 AlphaValueFieldId = AlphaFuncFieldId + 1, 00107 AlphaSrcFactorFieldId = AlphaValueFieldId + 1, 00108 AlphaDestFactorFieldId = AlphaSrcFactorFieldId + 1, 00109 NextFieldId = AlphaDestFactorFieldId + 1 00110 };
anonymous enum [inherited] |
Definition at line 92 of file OSGStateChunkBase.h.
00093 { 00094 IgnoreFieldId = Inherited::NextFieldId, 00095 NextFieldId = IgnoreFieldId + 1 00096 };
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] |
| BlendChunk::BlendChunk | ( | void | ) | [protected] |
Definition at line 145 of file OSGBlendChunk.cpp.
References _extBlend, _extBlendFuncSeparate, _extBlendLogicOp, _extBlendMinMax, _extBlendSubtract, _extImaging, _funcBlendColor, _funcBlendEquation, _funcBlendEquationExt, _funcBlendFuncSeparateExt, OSG_DLSYM_UNDERSCORE, osg::Window::registerExtension(), and osg::Window::registerFunction().
00145 : 00146 Inherited() 00147 { 00148 _extBlend = 00149 Window::registerExtension("GL_EXT_blend_color"); 00150 _extImaging = 00151 Window::registerExtension("GL_ARB_imaging"); 00152 _extBlendSubtract = 00153 Window::registerExtension("GL_EXT_blend_subtract"); 00154 _extBlendMinMax = 00155 Window::registerExtension("GL_EXT_blend_minmax"); 00156 _extBlendLogicOp = 00157 Window::registerExtension("GL_EXT_blend_logic_op"); 00158 _extBlendFuncSeparate = 00159 Window::registerExtension("GL_EXT_blend_func_separate"); 00160 _funcBlendColor = Window::registerFunction( 00161 OSG_DLSYM_UNDERSCORE"glBlendColorEXT", _extBlend); 00162 _funcBlendEquation = Window::registerFunction( 00163 OSG_DLSYM_UNDERSCORE"glBlendEquation", _extImaging); 00164 _funcBlendEquationExt = Window::registerFunction( 00165 OSG_DLSYM_UNDERSCORE"glBlendEquationEXT", _extBlendLogicOp); 00166 _funcBlendFuncSeparateExt = Window::registerFunction( 00167 OSG_DLSYM_UNDERSCORE"glBlendFuncSeparateEXT", _extBlendFuncSeparate); 00168 }
| BlendChunk::BlendChunk | ( | const BlendChunk & | source | ) | [protected] |
| BlendChunk::~BlendChunk | ( | void | ) | [protected, virtual] |
| const StateChunkClass * BlendChunk::getClass | ( | void | ) | const [virtual] |
Reimplemented from osg::StateChunk.
Definition at line 181 of file OSGBlendChunk.cpp.
References _class.
00182 { 00183 return &_class; 00184 }
| UInt32 osg::BlendChunk::getStaticClassId | ( | void | ) | [inline, static] |
Reimplemented from osg::StateChunk.
Definition at line 46 of file OSGBlendChunk.inl.
References osg::StateChunkClass::getId(), and getStaticClass().
00047 { 00048 return getStaticClass()->getId(); 00049 }
| const StateChunkClass * osg::BlendChunk::getStaticClass | ( | void | ) | [inline, static] |
Reimplemented from osg::StateChunk.
Definition at line 52 of file OSGBlendChunk.inl.
References _class.
Referenced by getStaticClassId().
00053 { 00054 return &BlendChunk::_class; 00055 }
Reimplemented from osg::StateChunk.
Definition at line 188 of file OSGBlendChunk.cpp.
References osg::StateChunk::changed().
00189 { 00190 Inherited::changed(whichField, origin); 00191 }
Reimplemented from osg::StateChunk.
Definition at line 195 of file OSGBlendChunk.cpp.
References SLOG.
00197 { 00198 SLOG << "Dump BlendChunk NI" << std::endl; 00199 }
| void BlendChunk::activate | ( | DrawActionBase * | action, | |
| UInt32 | index = 0 | |||
| ) | [virtual] |
Reimplemented from osg::StateChunk.
Definition at line 203 of file OSGBlendChunk.cpp.
References _extBlend, _extBlendFuncSeparate, _extBlendLogicOp, _extBlendMinMax, _extBlendSubtract, _extImaging, _funcBlendColor, _funcBlendEquation, _funcBlendEquationExt, _funcBlendFuncSeparateExt, osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfAlphaValue, osg::BlendChunkBase::_sfColor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, FWARNING, osg::Window::getFunction(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::DrawActionBase::getWindow(), GL_CONSTANT_COLOR_EXT, GL_ONE_MINUS_CONSTANT_ALPHA_EXT, GLenum, osg::Window::hasExtension(), OSG_APIENTRY, and OSG_GL_UNUSED.
00204 { 00205 GLenum src = _sfSrcFactor.getValue(); 00206 GLenum dest = _sfDestFactor.getValue(); 00207 GLenum asrc = _sfAlphaSrcFactor.getValue(); 00208 GLenum adest = _sfAlphaDestFactor.getValue(); 00209 00210 if(src != GL_ONE || dest != GL_ZERO || 00211 (asrc != OSG_GL_UNUSED && asrc != GL_ONE) || 00212 (adest != OSG_GL_UNUSED && adest != GL_ZERO) 00213 ) 00214 { 00215 if(asrc != OSG_GL_UNUSED || adest != OSG_GL_UNUSED) 00216 { 00217 if(asrc == OSG_GL_UNUSED || adest == OSG_GL_UNUSED) 00218 { 00219 FWARNING(("BlendChunk::activate: only one of alpha src and" 00220 " alpha dest is set. Ignored.\n")); 00221 glBlendFunc(src, dest); 00222 } 00223 else if(action->getWindow()->hasExtension(_extBlendFuncSeparate)) 00224 { 00225 // get "glBlendFuncSeparate" function pointer 00226 void (OSG_APIENTRY* blendfuncsep)(GLenum,GLenum,GLenum,GLenum) = 00227 (void (OSG_APIENTRY*)(GLenum,GLenum,GLenum,GLenum)) 00228 action->getWindow()->getFunction(_funcBlendFuncSeparateExt); 00229 00230 blendfuncsep(src, dest, asrc, adest); 00231 } 00232 else 00233 { 00234 FWARNING(("BlendChunk::activate: Window %p doesn't " 00235 "support EXT_blend_func_separate, ignored.\n")); 00236 glBlendFunc(src, dest); 00237 } 00238 } 00239 else 00240 glBlendFunc(src, dest); 00241 00242 // This is not nice, but efficient 00243 // As the OpenGL constants are fixed it should be safe 00244 if((src >= GL_CONSTANT_COLOR_EXT && 00245 src <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) || 00246 (dest >= GL_CONSTANT_COLOR_EXT && 00247 dest <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) || 00248 (asrc >= GL_CONSTANT_COLOR_EXT && 00249 asrc <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) || 00250 (adest >= GL_CONSTANT_COLOR_EXT && 00251 adest <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) 00252 ) 00253 { 00254 if(action->getWindow()->hasExtension(_extBlend)) 00255 { 00256 // get "glBlendColorEXT" function pointer 00257 void (OSG_APIENTRY*blendcolor)(GLclampf red,GLclampf green,GLclampf blue, 00258 GLclampf alpha ) = 00259 (void (OSG_APIENTRY*)(GLclampf red,GLclampf green,GLclampf blue, 00260 GLclampf alpha)) 00261 action->getWindow()->getFunction(_funcBlendColor); 00262 00263 blendcolor(_sfColor.getValue().red(), 00264 _sfColor.getValue().green(), 00265 _sfColor.getValue().blue(), 00266 _sfColor.getValue().alpha()); 00267 } 00268 } 00269 00270 glEnable(GL_BLEND); 00271 } 00272 00273 if(_sfEquation.getValue() != GL_NONE) 00274 { 00275 if(action->getWindow()->hasExtension(_extImaging)) 00276 { 00277 // get "glBlendEquation" function pointer 00278 void (OSG_APIENTRY* blendeq)(GLenum mode) = 00279 (void (OSG_APIENTRY*)(GLenum mode)) 00280 action->getWindow()->getFunction(_funcBlendEquation); 00281 00282 blendeq(_sfEquation.getValue()); 00283 } 00284 else if(action->getWindow()->hasExtension(_extBlendSubtract) || 00285 action->getWindow()->hasExtension(_extBlendMinMax) || 00286 action->getWindow()->hasExtension(_extBlendLogicOp)) 00287 { 00288 // get "glBlendEquationEXT" function pointer 00289 void (OSG_APIENTRY* blendeq)(GLenum mode) = 00290 (void (OSG_APIENTRY*)(GLenum mode)) 00291 action->getWindow()->getFunction(_funcBlendEquationExt); 00292 00293 blendeq(_sfEquation.getValue()); 00294 } 00295 } 00296 00297 if(_sfAlphaFunc.getValue() != GL_NONE) 00298 { 00299 glAlphaFunc(_sfAlphaFunc.getValue(), _sfAlphaValue.getValue()); 00300 glEnable(GL_ALPHA_TEST); 00301 } 00302 }
| void BlendChunk::changeFrom | ( | DrawActionBase * | action, | |
| StateChunk * | old, | |||
| UInt32 | index = 0 | |||
| ) | [virtual] |
Reimplemented from osg::StateChunk.
Definition at line 304 of file OSGBlendChunk.cpp.
References _extBlend, _extBlendFuncSeparate, _extBlendLogicOp, _extBlendMinMax, _extBlendSubtract, _extImaging, _funcBlendColor, _funcBlendEquation, _funcBlendEquationExt, _funcBlendFuncSeparateExt, osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfAlphaValue, osg::BlendChunkBase::_sfColor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, FWARNING, osg::Window::getFunction(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::DrawActionBase::getWindow(), GL_CONSTANT_COLOR_EXT, GL_ONE_MINUS_CONSTANT_ALPHA_EXT, GLenum, osg::Window::hasExtension(), OSG_APIENTRY, and OSG_GL_UNUSED.
00307 { 00308 BlendChunk *old = dynamic_cast<BlendChunk *>(old_chunk); 00309 00310 GLenum src = _sfSrcFactor.getValue(); 00311 GLenum dest = _sfDestFactor.getValue(); 00312 GLenum osrc = old->_sfSrcFactor.getValue(); 00313 GLenum odest = old->_sfDestFactor.getValue(); 00314 GLenum asrc = _sfAlphaSrcFactor.getValue(); 00315 GLenum adest = _sfAlphaDestFactor.getValue(); 00316 GLenum oasrc = old->_sfAlphaSrcFactor.getValue(); 00317 GLenum oadest = old->_sfAlphaDestFactor.getValue(); 00318 00319 if(src != GL_ONE || dest != GL_ZERO || 00320 (asrc != OSG_GL_UNUSED && asrc != GL_ONE) || 00321 (adest != OSG_GL_UNUSED && adest != GL_ZERO) 00322 ) 00323 { 00324 if(asrc != OSG_GL_UNUSED || adest != OSG_GL_UNUSED) 00325 { 00326 if(asrc == OSG_GL_UNUSED || adest == OSG_GL_UNUSED) 00327 { 00328 FWARNING(("BlendChunk::changeFrom: only one of alpha src and" 00329 " alpha dest is set. Ignored.\n")); 00330 glBlendFunc(src, dest); 00331 } 00332 else if(action->getWindow()->hasExtension(_extBlendFuncSeparate)) 00333 { 00334 if(osrc != src || odest != dest || 00335 oasrc != asrc || oadest != adest 00336 ) 00337 { 00338 // get "glBlendFuncSeparate" function pointer 00339 void (OSG_APIENTRY* blendfuncsep)(GLenum,GLenum, 00340 GLenum,GLenum) = 00341 (void (OSG_APIENTRY*)(GLenum,GLenum,GLenum,GLenum)) 00342 action->getWindow()->getFunction( 00343 _funcBlendFuncSeparateExt); 00344 00345 blendfuncsep(src, dest, asrc, adest); 00346 } 00347 } 00348 else 00349 { 00350 FWARNING(("BlendChunk::changeFrom: Window %p doesn't " 00351 "support EXT_blend_func_separate, ignored.\n")); 00352 glBlendFunc(src, dest); 00353 } 00354 } 00355 else if(osrc != src || odest != dest) 00356 glBlendFunc(src, dest); 00357 00358 // This is not nice, but efficient 00359 // As the OpenGL constants are fixed it should be safe 00360 if((src >= GL_CONSTANT_COLOR_EXT && 00361 src <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) || 00362 (dest >= GL_CONSTANT_COLOR_EXT && 00363 dest <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) || 00364 (asrc >= GL_CONSTANT_COLOR_EXT && 00365 asrc <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) || 00366 (adest >= GL_CONSTANT_COLOR_EXT && 00367 adest <= GL_ONE_MINUS_CONSTANT_ALPHA_EXT ) 00368 ) 00369 { 00370 if ( action->getWindow()->hasExtension(_extBlend )) 00371 { 00372 // get "glBlendColorEXT" function pointer 00373 void (OSG_APIENTRY*blendcolor)(GLclampf red,GLclampf green,GLclampf blue, 00374 GLclampf alpha ) = 00375 (void (OSG_APIENTRY*)(GLclampf red,GLclampf green,GLclampf blue, 00376 GLclampf alpha)) 00377 action->getWindow()->getFunction( _funcBlendColor ); 00378 00379 blendcolor(_sfColor.getValue().red(), 00380 _sfColor.getValue().green(), 00381 _sfColor.getValue().blue(), 00382 _sfColor.getValue().alpha()); 00383 } 00384 } 00385 00386 if(osrc == GL_ONE && odest == GL_ZERO) 00387 glEnable(GL_BLEND); 00388 } 00389 else 00390 { 00391 if(osrc != GL_ONE || odest != GL_ZERO || 00392 (oasrc != OSG_GL_UNUSED && oasrc != GL_ONE) || 00393 (oadest != OSG_GL_UNUSED && oadest != GL_ZERO) 00394 ) 00395 glDisable(GL_BLEND); 00396 } 00397 00398 if(_sfEquation.getValue() != old->_sfEquation.getValue()) 00399 { 00400 if(action->getWindow()->hasExtension(_extImaging)) 00401 { 00402 // get "glBlendEquation" function pointer 00403 void (OSG_APIENTRY* blendeq)(GLenum mode) = 00404 (void (OSG_APIENTRY*)(GLenum mode)) 00405 action->getWindow()->getFunction(_funcBlendEquation); 00406 00407 blendeq(_sfEquation.getValue()); 00408 } 00409 else if(action->getWindow()->hasExtension(_extBlendSubtract) || 00410 action->getWindow()->hasExtension(_extBlendMinMax) || 00411 action->getWindow()->hasExtension(_extBlendLogicOp)) 00412 { 00413 // get "glBlendEquationEXT" function pointer 00414 void (OSG_APIENTRY* blendeq)(GLenum mode) = 00415 (void (OSG_APIENTRY*)(GLenum mode)) 00416 action->getWindow()->getFunction(_funcBlendEquationExt); 00417 00418 blendeq(_sfEquation.getValue()); 00419 } 00420 } 00421 00422 if(_sfAlphaFunc.getValue() != GL_NONE) 00423 { 00424 if(old->_sfAlphaFunc.getValue() != _sfAlphaFunc.getValue() || 00425 old->_sfAlphaValue.getValue() != _sfAlphaValue.getValue()) 00426 glAlphaFunc(_sfAlphaFunc.getValue(), _sfAlphaValue.getValue()); 00427 00428 if(old->_sfAlphaFunc.getValue() == GL_NONE) 00429 glEnable(GL_ALPHA_TEST); 00430 } 00431 else 00432 { 00433 if(old->_sfAlphaFunc.getValue() != GL_NONE) 00434 glDisable(GL_ALPHA_TEST); 00435 } 00436 00437 }
| void BlendChunk::deactivate | ( | DrawActionBase * | action, | |
| UInt32 | index = 0 | |||
| ) | [virtual] |
Reimplemented from osg::StateChunk.
Definition at line 439 of file OSGBlendChunk.cpp.
References _extBlendLogicOp, _extBlendMinMax, _extBlendSubtract, _extImaging, _funcBlendEquation, _funcBlendEquationExt, osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, osg::Window::getFunction(), osg::SField< FieldTypeT, fieldNameSpace >::getValue(), osg::DrawActionBase::getWindow(), GL_FUNC_ADD_EXT, GLenum, osg::Window::hasExtension(), OSG_APIENTRY, and OSG_GL_UNUSED.
00440 { 00441 GLenum src = _sfSrcFactor.getValue(); 00442 GLenum dest = _sfDestFactor.getValue(); 00443 GLenum asrc = _sfAlphaSrcFactor.getValue(); 00444 GLenum adest = _sfAlphaDestFactor.getValue(); 00445 00446 if(src != GL_ONE || dest != GL_ZERO || 00447 (asrc != OSG_GL_UNUSED && asrc != GL_ONE) || 00448 (adest != OSG_GL_UNUSED && adest != GL_ZERO) 00449 ) 00450 { 00451 glDisable(GL_BLEND); 00452 } 00453 00454 if(_sfEquation.getValue() != GL_NONE) 00455 { 00456 if(action->getWindow()->hasExtension(_extImaging)) 00457 { 00458 // get "glBlendEquation" function pointer 00459 void (OSG_APIENTRY* blendeq)(GLenum mode) = 00460 (void (OSG_APIENTRY*)(GLenum mode)) 00461 action->getWindow()->getFunction(_funcBlendEquation); 00462 00463 blendeq(GL_FUNC_ADD_EXT); 00464 } 00465 else if(action->getWindow()->hasExtension(_extBlendSubtract) || 00466 action->getWindow()->hasExtension(_extBlendMinMax) || 00467 action->getWindow()->hasExtension(_extBlendLogicOp)) 00468 { 00469 // get "glBlendEquationEXT" function pointer 00470 void (OSG_APIENTRY* blendeq)(GLenum mode) = 00471 (void (OSG_APIENTRY*)(GLenum mode)) 00472 action->getWindow()->getFunction(_funcBlendEquationExt); 00473 00474 blendeq(GL_FUNC_ADD_EXT); 00475 } 00476 } 00477 00478 if(_sfAlphaFunc.getValue() != GL_NONE) 00479 { 00480 glDisable(GL_ALPHA_TEST); 00481 } 00482 }
| bool BlendChunk::isTransparent | ( | void | ) | const [virtual] |
Reimplemented from osg::StateChunk.
Definition at line 486 of file OSGBlendChunk.cpp.
References osg::BlendChunkBase::getDestFactor().
00487 { 00488 return getDestFactor() != GL_ZERO; 00489 }
| Real32 BlendChunk::switchCost | ( | StateChunk * | chunk | ) | [virtual] |
| bool BlendChunk::operator< | ( | const StateChunk & | other | ) | const [virtual] |
| bool BlendChunk::operator== | ( | const StateChunk & | other | ) | const [virtual] |
Reimplemented from osg::StateChunk.
Definition at line 501 of file OSGBlendChunk.cpp.
References osg::BlendChunkBase::getAlphaFunc(), osg::BlendChunkBase::getAlphaValue(), osg::BlendChunkBase::getColor(), osg::BlendChunkBase::getDestFactor(), osg::BlendChunkBase::getEquation(), and osg::BlendChunkBase::getSrcFactor().
00502 { 00503 BlendChunk const *tother = dynamic_cast<BlendChunk const*>(&other); 00504 00505 if(!tother) 00506 return false; 00507 00508 if(tother == this) 00509 return true; 00510 00511 if(getSrcFactor() != tother->getSrcFactor() || 00512 getDestFactor() != tother->getDestFactor() || 00513 getEquation() != tother->getEquation() || 00514 getColor() != tother->getColor() || 00515 getAlphaFunc() != tother->getAlphaFunc() || 00516 getAlphaValue() != tother->getAlphaValue() ) 00517 return false; 00518 00519 return true; 00520 }
| bool BlendChunk::operator!= | ( | const StateChunk & | other | ) | const [virtual] |
| void BlendChunk::initMethod | ( | void | ) | [static, private] |
Reimplemented from osg::StateChunk.
Definition at line 130 of file OSGBlendChunk.cpp.
References osg::StateChunk::initMethod().
00131 { 00132 Inherited::initMethod(); 00133 }
| void osg::BlendChunk::operator= | ( | const BlendChunk & | source | ) | [private] |
| osg::FieldContainerType & osg::BlendChunkBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 58 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_type.
Referenced by osg::BlendChunkBase::create(), and modifyMaterial().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::BlendChunkBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 65 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & BlendChunkBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 189 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::_type.
00190 { 00191 return _type; 00192 }
| const FieldContainerType & BlendChunkBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 194 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::_type.
00195 { 00196 return _type; 00197 }
| UInt32 BlendChunkBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 209 of file OSGBlendChunkBase.cpp.
00210 { 00211 return sizeof(BlendChunk); 00212 }
| SFGLenum * osg::BlendChunkBase::getSFSrcFactor | ( | void | ) | [inline, inherited] |
Definition at line 101 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfSrcFactor.
00102 { 00103 return &_sfSrcFactor; 00104 }
| SFGLenum * osg::BlendChunkBase::getSFDestFactor | ( | void | ) | [inline, inherited] |
Definition at line 108 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfDestFactor.
00109 { 00110 return &_sfDestFactor; 00111 }
| SFGLenum * osg::BlendChunkBase::getSFEquation | ( | void | ) | [inline, inherited] |
Definition at line 115 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfEquation.
00116 { 00117 return &_sfEquation; 00118 }
| SFColor4f * osg::BlendChunkBase::getSFColor | ( | void | ) | [inline, inherited] |
Definition at line 122 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfColor.
00123 { 00124 return &_sfColor; 00125 }
| SFGLenum * osg::BlendChunkBase::getSFAlphaFunc | ( | void | ) | [inline, inherited] |
Definition at line 129 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaFunc.
00130 { 00131 return &_sfAlphaFunc; 00132 }
| SFReal32 * osg::BlendChunkBase::getSFAlphaValue | ( | void | ) | [inline, inherited] |
Definition at line 136 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaValue.
00137 { 00138 return &_sfAlphaValue; 00139 }
| SFGLenum * osg::BlendChunkBase::getSFAlphaSrcFactor | ( | void | ) | [inline, inherited] |
Definition at line 143 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaSrcFactor.
00144 { 00145 return &_sfAlphaSrcFactor; 00146 }
| SFGLenum * osg::BlendChunkBase::getSFAlphaDestFactor | ( | void | ) | [inline, inherited] |
Definition at line 150 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaDestFactor.
00151 { 00152 return &_sfAlphaDestFactor; 00153 }
| GLenum & osg::BlendChunkBase::getSrcFactor | ( | void | ) | [inline, inherited] |
Definition at line 158 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfSrcFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by operator==().
00159 { 00160 return _sfSrcFactor.getValue(); 00161 }
| const GLenum & osg::BlendChunkBase::getSrcFactor | ( | void | ) | const [inline, inherited] |
Definition at line 165 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfSrcFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00166 { 00167 return _sfSrcFactor.getValue(); 00168 }
| GLenum & osg::BlendChunkBase::getDestFactor | ( | void | ) | [inline, inherited] |
Definition at line 179 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfDestFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by isTransparent(), and operator==().
00180 { 00181 return _sfDestFactor.getValue(); 00182 }
| const GLenum & osg::BlendChunkBase::getDestFactor | ( | void | ) | const [inline, inherited] |
Definition at line 186 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfDestFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00187 { 00188 return _sfDestFactor.getValue(); 00189 }
| GLenum & osg::BlendChunkBase::getEquation | ( | void | ) | [inline, inherited] |
Definition at line 200 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfEquation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by operator==().
00201 { 00202 return _sfEquation.getValue(); 00203 }
| const GLenum & osg::BlendChunkBase::getEquation | ( | void | ) | const [inline, inherited] |
Definition at line 207 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfEquation, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00208 { 00209 return _sfEquation.getValue(); 00210 }
| Color4f & osg::BlendChunkBase::getColor | ( | void | ) | [inline, inherited] |
Definition at line 221 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfColor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by operator==().
00222 { 00223 return _sfColor.getValue(); 00224 }
| const Color4f & osg::BlendChunkBase::getColor | ( | void | ) | const [inline, inherited] |
Definition at line 228 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfColor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00229 { 00230 return _sfColor.getValue(); 00231 }
| GLenum & osg::BlendChunkBase::getAlphaFunc | ( | void | ) | [inline, inherited] |
Definition at line 242 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaFunc, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by operator==().
00243 { 00244 return _sfAlphaFunc.getValue(); 00245 }
| const GLenum & osg::BlendChunkBase::getAlphaFunc | ( | void | ) | const [inline, inherited] |
Definition at line 249 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaFunc, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00250 { 00251 return _sfAlphaFunc.getValue(); 00252 }
| Real32 & osg::BlendChunkBase::getAlphaValue | ( | void | ) | [inline, inherited] |
Definition at line 263 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaValue, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by operator==().
00264 { 00265 return _sfAlphaValue.getValue(); 00266 }
| const Real32 & osg::BlendChunkBase::getAlphaValue | ( | void | ) | const [inline, inherited] |
Definition at line 270 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaValue, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00271 { 00272 return _sfAlphaValue.getValue(); 00273 }
| GLenum & osg::BlendChunkBase::getAlphaSrcFactor | ( | void | ) | [inline, inherited] |
Definition at line 284 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaSrcFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00285 { 00286 return _sfAlphaSrcFactor.getValue(); 00287 }
| const GLenum & osg::BlendChunkBase::getAlphaSrcFactor | ( | void | ) | const [inline, inherited] |
Definition at line 291 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaSrcFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00292 { 00293 return _sfAlphaSrcFactor.getValue(); 00294 }
| GLenum & osg::BlendChunkBase::getAlphaDestFactor | ( | void | ) | [inline, inherited] |
Definition at line 305 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaDestFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00306 { 00307 return _sfAlphaDestFactor.getValue(); 00308 }
| const GLenum & osg::BlendChunkBase::getAlphaDestFactor | ( | void | ) | const [inline, inherited] |
Definition at line 312 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaDestFactor, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00313 { 00314 return _sfAlphaDestFactor.getValue(); 00315 }
| void osg::BlendChunkBase::setSrcFactor | ( | const GLenum & | value | ) | [inline, inherited] |
Definition at line 172 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfSrcFactor, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00173 { 00174 _sfSrcFactor.setValue(value); 00175 }
| void osg::BlendChunkBase::setDestFactor | ( | const GLenum & | value | ) | [inline, inherited] |
Definition at line 193 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfDestFactor, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00194 { 00195 _sfDestFactor.setValue(value); 00196 }
| void osg::BlendChunkBase::setEquation | ( | const GLenum & | value | ) | [inline, inherited] |
Definition at line 214 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfEquation, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00215 { 00216 _sfEquation.setValue(value); 00217 }
| void osg::BlendChunkBase::setColor | ( | const Color4f & | value | ) | [inline, inherited] |
Definition at line 235 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfColor, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| void osg::BlendChunkBase::setAlphaFunc | ( | const GLenum & | value | ) | [inline, inherited] |
Definition at line 256 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaFunc, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00257 { 00258 _sfAlphaFunc.setValue(value); 00259 }
| void osg::BlendChunkBase::setAlphaValue | ( | const Real32 & | value | ) | [inline, inherited] |
Definition at line 277 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaValue, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00278 { 00279 _sfAlphaValue.setValue(value); 00280 }
| void osg::BlendChunkBase::setAlphaSrcFactor | ( | const GLenum & | value | ) | [inline, inherited] |
Definition at line 298 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaSrcFactor, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00299 { 00300 _sfAlphaSrcFactor.setValue(value); 00301 }
| void osg::BlendChunkBase::setAlphaDestFactor | ( | const GLenum & | value | ) | [inline, inherited] |
Definition at line 319 of file OSGBlendChunkBase.inl.
References osg::BlendChunkBase::_sfAlphaDestFactor, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
00320 { 00321 _sfAlphaDestFactor.setValue(value); 00322 }
Reimplemented from osg::StateChunkBase.
Definition at line 285 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfAlphaValue, osg::BlendChunkBase::_sfColor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, osg::BlendChunkBase::AlphaDestFactorFieldMask, osg::BlendChunkBase::AlphaFuncFieldMask, osg::BlendChunkBase::AlphaSrcFactorFieldMask, osg::BlendChunkBase::AlphaValueFieldMask, osg::BlendChunkBase::ColorFieldMask, osg::BlendChunkBase::DestFactorFieldMask, osg::BlendChunkBase::EquationFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::getBinSize(), osg::StateChunkBase::getBinSize(), osg::FieldBits::NoField, and osg::BlendChunkBase::SrcFactorFieldMask.
00286 { 00287 UInt32 returnValue = Inherited::getBinSize(whichField); 00288 00289 if(FieldBits::NoField != (SrcFactorFieldMask & whichField)) 00290 { 00291 returnValue += _sfSrcFactor.getBinSize(); 00292 } 00293 00294 if(FieldBits::NoField != (DestFactorFieldMask & whichField)) 00295 { 00296 returnValue += _sfDestFactor.getBinSize(); 00297 } 00298 00299 if(FieldBits::NoField != (EquationFieldMask & whichField)) 00300 { 00301 returnValue += _sfEquation.getBinSize(); 00302 } 00303 00304 if(FieldBits::NoField != (ColorFieldMask & whichField)) 00305 { 00306 returnValue += _sfColor.getBinSize(); 00307 } 00308 00309 if(FieldBits::NoField != (AlphaFuncFieldMask & whichField)) 00310 { 00311 returnValue += _sfAlphaFunc.getBinSize(); 00312 } 00313 00314 if(FieldBits::NoField != (AlphaValueFieldMask & whichField)) 00315 { 00316 returnValue += _sfAlphaValue.getBinSize(); 00317 } 00318 00319 if(FieldBits::NoField != (AlphaSrcFactorFieldMask & whichField)) 00320 { 00321 returnValue += _sfAlphaSrcFactor.getBinSize(); 00322 } 00323 00324 if(FieldBits::NoField != (AlphaDestFactorFieldMask & whichField)) 00325 { 00326 returnValue += _sfAlphaDestFactor.getBinSize(); 00327 } 00328 00329 00330 return returnValue; 00331 }
| void BlendChunkBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 333 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfAlphaValue, osg::BlendChunkBase::_sfColor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, osg::BlendChunkBase::AlphaDestFactorFieldMask, osg::BlendChunkBase::AlphaFuncFieldMask, osg::BlendChunkBase::AlphaSrcFactorFieldMask, osg::BlendChunkBase::AlphaValueFieldMask, osg::BlendChunkBase::ColorFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyToBin(), osg::StateChunkBase::copyToBin(), osg::BlendChunkBase::DestFactorFieldMask, osg::BlendChunkBase::EquationFieldMask, osg::FieldBits::NoField, and osg::BlendChunkBase::SrcFactorFieldMask.
00335 { 00336 Inherited::copyToBin(pMem, whichField); 00337 00338 if(FieldBits::NoField != (SrcFactorFieldMask & whichField)) 00339 { 00340 _sfSrcFactor.copyToBin(pMem); 00341 } 00342 00343 if(FieldBits::NoField != (DestFactorFieldMask & whichField)) 00344 { 00345 _sfDestFactor.copyToBin(pMem); 00346 } 00347 00348 if(FieldBits::NoField != (EquationFieldMask & whichField)) 00349 { 00350 _sfEquation.copyToBin(pMem); 00351 } 00352 00353 if(FieldBits::NoField != (ColorFieldMask & whichField)) 00354 { 00355 _sfColor.copyToBin(pMem); 00356 } 00357 00358 if(FieldBits::NoField != (AlphaFuncFieldMask & whichField)) 00359 { 00360 _sfAlphaFunc.copyToBin(pMem); 00361 } 00362 00363 if(FieldBits::NoField != (AlphaValueFieldMask & whichField)) 00364 { 00365 _sfAlphaValue.copyToBin(pMem); 00366 } 00367 00368 if(FieldBits::NoField != (AlphaSrcFactorFieldMask & whichField)) 00369 { 00370 _sfAlphaSrcFactor.copyToBin(pMem); 00371 } 00372 00373 if(FieldBits::NoField != (AlphaDestFactorFieldMask & whichField)) 00374 { 00375 _sfAlphaDestFactor.copyToBin(pMem); 00376 } 00377 00378 00379 }
| void BlendChunkBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 381 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfAlphaValue, osg::BlendChunkBase::_sfColor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, osg::BlendChunkBase::AlphaDestFactorFieldMask, osg::BlendChunkBase::AlphaFuncFieldMask, osg::BlendChunkBase::AlphaSrcFactorFieldMask, osg::BlendChunkBase::AlphaValueFieldMask, osg::BlendChunkBase::ColorFieldMask, osg::SField< FieldTypeT, fieldNameSpace >::copyFromBin(), osg::StateChunkBase::copyFromBin(), osg::BlendChunkBase::DestFactorFieldMask, osg::BlendChunkBase::EquationFieldMask, osg::FieldBits::NoField, and osg::BlendChunkBase::SrcFactorFieldMask.
00383 { 00384 Inherited::copyFromBin(pMem, whichField); 00385 00386 if(FieldBits::NoField != (SrcFactorFieldMask & whichField)) 00387 { 00388 _sfSrcFactor.copyFromBin(pMem); 00389 } 00390 00391 if(FieldBits::NoField != (DestFactorFieldMask & whichField)) 00392 { 00393 _sfDestFactor.copyFromBin(pMem); 00394 } 00395 00396 if(FieldBits::NoField != (EquationFieldMask & whichField)) 00397 { 00398 _sfEquation.copyFromBin(pMem); 00399 } 00400 00401 if(FieldBits::NoField != (ColorFieldMask & whichField)) 00402 { 00403 _sfColor.copyFromBin(pMem); 00404 } 00405 00406 if(FieldBits::NoField != (AlphaFuncFieldMask & whichField)) 00407 { 00408 _sfAlphaFunc.copyFromBin(pMem); 00409 } 00410 00411 if(FieldBits::NoField != (AlphaValueFieldMask & whichField)) 00412 { 00413 _sfAlphaValue.copyFromBin(pMem); 00414 } 00415 00416 if(FieldBits::NoField != (AlphaSrcFactorFieldMask & whichField)) 00417 { 00418 _sfAlphaSrcFactor.copyFromBin(pMem); 00419 } 00420 00421 if(FieldBits::NoField != (AlphaDestFactorFieldMask & whichField)) 00422 { 00423 _sfAlphaDestFactor.copyFromBin(pMem); 00424 } 00425 00426 00427 }
| BlendChunkPtr osg::BlendChunkBase::create | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::Attachment.
Definition at line 72 of file OSGBlendChunkBase.inl.
References osg::AttachmentPtr::dcast(), osg::BlendChunkBase::getClassType(), osg::NullFC, and osg::BlendChunkBase::shallowCopy().
Referenced by osg::SimpleMaterial::prepareLocalChunks(), osg::PhongMaterial::prepareLocalChunks(), and osg::FresnelMaterial::prepareLocalChunks().
00073 { 00074 BlendChunkPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = BlendChunkPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| BlendChunkPtr osg::BlendChunkBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::Attachment.
Definition at line 87 of file OSGBlendChunkBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 BlendChunkPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr BlendChunkBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::Attachment.
Definition at line 200 of file OSGBlendChunkBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::BlendChunkBase::create().
00201 { 00202 BlendChunkPtr returnValue; 00203 00204 newPtr(returnValue, dynamic_cast<const BlendChunk *>(this)); 00205 00206 return returnValue; 00207 }
| void BlendChunkBase::executeSyncImpl | ( | BlendChunkBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 430 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::_sfAlphaDestFactor, osg::BlendChunkBase::_sfAlphaFunc, osg::BlendChunkBase::_sfAlphaSrcFactor, osg::BlendChunkBase::_sfAlphaValue, osg::BlendChunkBase::_sfColor, osg::BlendChunkBase::_sfDestFactor, osg::BlendChunkBase::_sfEquation, osg::BlendChunkBase::_sfSrcFactor, osg::BlendChunkBase::AlphaDestFactorFieldMask, osg::BlendChunkBase::AlphaFuncFieldMask, osg::BlendChunkBase::AlphaSrcFactorFieldMask, osg::BlendChunkBase::AlphaValueFieldMask, osg::BlendChunkBase::ColorFieldMask, osg::BlendChunkBase::DestFactorFieldMask, osg::BlendChunkBase::EquationFieldMask, osg::StateChunkBase::executeSyncImpl(), osg::FieldBits::NoField, osg::BlendChunkBase::SrcFactorFieldMask, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::BlendChunkBase::executeSync().
00432 { 00433 00434 Inherited::executeSyncImpl(pOther, whichField); 00435 00436 if(FieldBits::NoField != (SrcFactorFieldMask & whichField)) 00437 _sfSrcFactor.syncWith(pOther->_sfSrcFactor); 00438 00439 if(FieldBits::NoField != (DestFactorFieldMask & whichField)) 00440 _sfDestFactor.syncWith(pOther->_sfDestFactor); 00441 00442 if(FieldBits::NoField != (EquationFieldMask & whichField)) 00443 _sfEquation.syncWith(pOther->_sfEquation); 00444 00445 if(FieldBits::NoField != (ColorFieldMask & whichField)) 00446 _sfColor.syncWith(pOther->_sfColor); 00447 00448 if(FieldBits::NoField != (AlphaFuncFieldMask & whichField)) 00449 _sfAlphaFunc.syncWith(pOther->_sfAlphaFunc); 00450 00451 if(FieldBits::NoField != (AlphaValueFieldMask & whichField)) 00452 _sfAlphaValue.syncWith(pOther->_sfAlphaValue); 00453 00454 if(FieldBits::NoField != (AlphaSrcFactorFieldMask & whichField)) 00455 _sfAlphaSrcFactor.syncWith(pOther->_sfAlphaSrcFactor); 00456 00457 if(FieldBits::NoField != (AlphaDestFactorFieldMask & whichField)) 00458 _sfAlphaDestFactor.syncWith(pOther->_sfAlphaDestFactor); 00459 00460 00461 }
| void osg::StateChunkBase::executeSyncImpl | ( | StateChunkBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Definition at line 219 of file OSGStateChunkBase.cpp.
References osg::StateChunkBase::_sfIgnore, osg::Attachment::executeSyncImpl(), osg::StateChunkBase::IgnoreFieldMask, osg::FieldBits::NoField, and osg::SField< FieldTypeT, fieldNameSpace >::syncWith().
Referenced by osg::StateChunkBase::executeSync(), osg::TwoSidedLightingChunkBase::executeSyncImpl(), osg::TransformChunkBase::executeSyncImpl(), osg::TextureChunkBase::executeSyncImpl(), osg::TexGenChunkBase::executeSyncImpl(), osg::StencilChunkBase::executeSyncImpl(), osg::ShaderParameterChunkBase::executeSyncImpl(), osg::SClipPlaneChunkBase::executeSyncImpl(), osg::RegisterCombinersChunkBase::executeSyncImpl(), osg::ProgramChunkBase::executeSyncImpl(), osg::PolygonChunkBase::executeSyncImpl(), osg::PointChunkBase::executeSyncImpl(), osg::MaterialChunkBase::executeSyncImpl(), osg::LogicOpChunkBase::executeSyncImpl(), osg::LineChunkBase::executeSyncImpl(), osg::LightModelChunkBase::executeSyncImpl(), osg::LightChunkBase::executeSyncImpl(), osg::DepthChunkBase::executeSyncImpl(), osg::ColorMaskChunkBase::executeSyncImpl(), osg::ClipPlaneChunkBase::executeSyncImpl(), and osg::BlendChunkBase::executeSyncImpl().
00221 { 00222 00223 Inherited::executeSyncImpl(pOther, whichField); 00224 00225 if(FieldBits::NoField != (IgnoreFieldMask & whichField)) 00226 _sfIgnore.syncWith(pOther->_sfIgnore); 00227 00228 00229 }
| 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 BlendChunkBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::StateChunkBase.
Definition at line 216 of file OSGBlendChunkBase.cpp.
References osg::BlendChunkBase::executeSyncImpl().
00218 { 00219 this->executeSyncImpl((BlendChunkBase *) &other, whichField); 00220 }
| UInt32 osg::StateChunk::getClassId | ( | void | ) | const [inline, inherited] |
Definition at line 48 of file OSGStateChunk.inl.
References osg::StateChunk::getClass(), and osg::StateChunkClass::getId().
00049 { 00050 return getClass()->getId(); 00051 }
| void StateChunk::update | ( | DrawActionBase * | action | ) | [virtual, inherited] |
| SFBool * osg::StateChunkBase::getSFIgnore | ( | void | ) | [inline, inherited] |
Definition at line 75 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore.
00076 { 00077 return &_sfIgnore; 00078 }
| bool & osg::StateChunkBase::getIgnore | ( | void | ) | [inline, inherited] |
Definition at line 83 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00084 { 00085 return _sfIgnore.getValue(); 00086 }
| const bool & osg::StateChunkBase::getIgnore | ( | void | ) | const [inline, inherited] |
Definition at line 90 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00091 { 00092 return _sfIgnore.getValue(); 00093 }
| void osg::StateChunkBase::setIgnore | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 97 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| 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] |
friend class BlendChunkBase [friend] |
Definition at line 143 of file OSGBlendChunk.h.
StateChunkClass BlendChunk::_class [static, private] |
UInt32 BlendChunk::_extBlend [static, private] |
Definition at line 151 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), and changeFrom().
UInt32 BlendChunk::_extImaging [static, private] |
Definition at line 152 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), changeFrom(), and deactivate().
UInt32 BlendChunk::_extBlendSubtract [static, private] |
Definition at line 153 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), changeFrom(), and deactivate().
UInt32 BlendChunk::_extBlendMinMax [static, private] |
Definition at line 154 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), changeFrom(), and deactivate().
UInt32 BlendChunk::_extBlendLogicOp [static, private] |
Definition at line 155 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), changeFrom(), and deactivate().
UInt32 BlendChunk::_extBlendFuncSeparate [static, private] |
Definition at line 156 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), and changeFrom().
UInt32 BlendChunk::_funcBlendColor [static, private] |
Definition at line 157 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), and changeFrom().
UInt32 BlendChunk::_funcBlendEquation [static, private] |
Definition at line 158 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), changeFrom(), and deactivate().
UInt32 BlendChunk::_funcBlendEquationExt [static, private] |
Definition at line 159 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), changeFrom(), and deactivate().
UInt32 BlendChunk::_funcBlendFuncSeparateExt [static, private] |
Definition at line 160 of file OSGBlendChunk.h.
Referenced by activate(), BlendChunk(), and changeFrom().
const osg::BitVector BlendChunkBase::SrcFactorFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::SrcFactorFieldId)
Definition at line 112 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getBinSize(), and modifyMaterial().
const osg::BitVector BlendChunkBase::DestFactorFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::DestFactorFieldId)
Definition at line 113 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getBinSize(), and modifyMaterial().
const osg::BitVector BlendChunkBase::EquationFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::EquationFieldId)
Definition at line 114 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), and osg::BlendChunkBase::getBinSize().
const osg::BitVector BlendChunkBase::ColorFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::ColorFieldId)
Definition at line 115 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), and osg::BlendChunkBase::getBinSize().
const osg::BitVector BlendChunkBase::AlphaFuncFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::AlphaFuncFieldId)
Definition at line 116 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), and osg::BlendChunkBase::getBinSize().
const osg::BitVector BlendChunkBase::AlphaValueFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::AlphaValueFieldId)
Definition at line 117 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), and osg::BlendChunkBase::getBinSize().
const osg::BitVector BlendChunkBase::AlphaSrcFactorFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::AlphaSrcFactorFieldId)
Definition at line 118 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), and osg::BlendChunkBase::getBinSize().
const osg::BitVector BlendChunkBase::AlphaDestFactorFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << BlendChunkBase::AlphaDestFactorFieldId)
Definition at line 119 of file OSGBlendChunkBase.h.
Referenced by osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), and osg::BlendChunkBase::getBinSize().
const osg::BitVector BlendChunkBase::MTInfluenceMask [static, inherited] |
Initial value:
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::StateChunkBase.
Definition at line 122 of file OSGBlendChunkBase.h.
GLenum BlendChunkBase::_sfSrcFactor [protected, inherited] |
The incoming pixel is multiplied by the source factor. Legal values are directly taken from the glBlendFunc() manpage.
Definition at line 227 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), deactivate(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getSFSrcFactor(), osg::BlendChunkBase::getSrcFactor(), and osg::BlendChunkBase::setSrcFactor().
GLenum BlendChunkBase::_sfDestFactor [protected, inherited] |
The frame buffer pixel is multiplied by the destination factor. Legal values are directly taken from the glBlendFunc() manpage.
Definition at line 228 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), deactivate(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getDestFactor(), osg::BlendChunkBase::getSFDestFactor(), and osg::BlendChunkBase::setDestFactor().
GLenum BlendChunkBase::_sfEquation [protected, inherited] |
The equation used to combine the two values. Only available where GL_ARB_imaging is supported. See glBlendEquation() for details.
Definition at line 229 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), deactivate(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getEquation(), osg::BlendChunkBase::getSFEquation(), and osg::BlendChunkBase::setEquation().
Color4f BlendChunkBase::_sfColor [protected, inherited] |
This is the constant color used by blend modes *_CONSTANT_*.
Definition at line 230 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getColor(), osg::BlendChunkBase::getSFColor(), and osg::BlendChunkBase::setColor().
GLenum BlendChunkBase::_sfAlphaFunc [protected, inherited] |
The alphaFunc defines how fragments which do not fulfill a certain condition are handled. See glAlphaFunc() for details. GL_NONE is used to disable alpha comparison.
Definition at line 231 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), deactivate(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getAlphaFunc(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getSFAlphaFunc(), and osg::BlendChunkBase::setAlphaFunc().
Real32 BlendChunkBase::_sfAlphaValue [protected, inherited] |
The value used in alpha comparison.
Definition at line 232 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getAlphaValue(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getSFAlphaValue(), and osg::BlendChunkBase::setAlphaValue().
GLenum BlendChunkBase::_sfAlphaSrcFactor [protected, inherited] |
The incoming alpha is multiplied by the source factor before being stored in the frame buffer. Only available where GL_EXT_blend_func_separate is supported. The default is GL_NONE, which indicates using the standard BlendFunction.
Definition at line 233 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), deactivate(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getAlphaSrcFactor(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getSFAlphaSrcFactor(), and osg::BlendChunkBase::setAlphaSrcFactor().
GLenum BlendChunkBase::_sfAlphaDestFactor [protected, inherited] |
The frame buffer alpha is multiplied by the source factor before being stored in the frame buffer. Only available where GL_EXT_blend_func_separate is supported. The default is GL_NONE, which indicates using the standard BlendFunction.
Definition at line 234 of file OSGBlendChunkBase.h.
Referenced by activate(), changeFrom(), osg::BlendChunkBase::copyFromBin(), osg::BlendChunkBase::copyToBin(), deactivate(), osg::BlendChunkBase::executeSyncImpl(), osg::BlendChunkBase::getAlphaDestFactor(), osg::BlendChunkBase::getBinSize(), osg::BlendChunkBase::getSFAlphaDestFactor(), and osg::BlendChunkBase::setAlphaDestFactor().
const osg::BitVector osg::StateChunkBase::IgnoreFieldMask [static, inherited] |
Initial value:
(TypeTraits<BitVector>::One << StateChunkBase::IgnoreFieldId)
Definition at line 98 of file OSGStateChunkBase.h.
Referenced by osg::StateChunkBase::copyFromBin(), osg::StateChunkBase::copyToBin(), osg::StateChunkBase::executeSyncImpl(), and osg::StateChunkBase::getBinSize().
bool osg::StateChunkBase::_sfIgnore [protected, inherited] |
Enables / disables a chunk
Definition at line 162 of file OSGStateChunkBase.h.
Referenced by osg::StateChunkBase::copyFromBin(), osg::StateChunkBase::copyToBin(), osg::StateChunkBase::executeSyncImpl(), osg::StateChunkBase::getBinSize(), osg::StateChunkBase::getIgnore(), osg::StateChunkBase::getSFIgnore(), and osg::StateChunkBase::setIgnore().
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