VertexProgramChunk class. See VertexProgramChunk for a description. More...
#include <OSGVertexProgramChunk.h>
Public Types | |
| typedef VertexProgramChunkPtr | Ptr |
| enum | { ProgramFieldId = Inherited::NextFieldId, ParamValuesFieldId = ProgramFieldId + 1, ParamNamesFieldId = ParamValuesFieldId + 1, GLIdFieldId = ParamNamesFieldId + 1, NextFieldId = GLIdFieldId + 1 } |
| 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 |
FieldContainer Get | |
| virtual FieldContainerType & | getType (void) |
| virtual const FieldContainerType & | getType (void) const |
| virtual UInt32 | getContainerSize (void) const |
Binary Access | |
| virtual UInt32 | getBinSize (const BitVector &whichField) |
| virtual void | copyToBin (BinaryDataHandler &pMem, const BitVector &whichField) |
| virtual void | copyFromBin (BinaryDataHandler &pMem, const BitVector &whichField) |
Copy | |
| virtual FieldContainerPtr | shallowCopy (void) const |
ProgamChunk Commands | |
| bool | read (const char *file) |
| bool | read (std::istream &stream) |
| bool | addParameter (const char *name, Int16 index) |
| bool | addParameter (const char *name, Int16 index, const Vec4f &value) |
| const Vec4f & | getParameter (Int16 index) |
| const Vec4f & | getParameter (const char *name) |
| const Vec4f & | getParameter (const std::string &name) |
| bool | setParameter (Int16 index, const Vec4f &value) |
| bool | setParameter (const char *name, const Vec4f &value) |
| bool | setParameter (const std::string &name, const Vec4f &value) |
| Int16 | findParameter (const char *name) |
| Int16 | findParameter (const std::string &name) |
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 |
State | |
| virtual void | changeFrom (DrawActionBase *action, StateChunk *old, UInt32 index=0) |
| virtual void | update (DrawActionBase *action) |
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 |
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 |
Chunk Class Access | |
| UInt32 | getClassId (void) const |
Field Get | |
| SFBool * | editSFIgnore (void) |
| Get the StateChunk::_sfIgnore field. | |
| const SFBool * | getSFIgnore (void) const |
| Get the StateChunk::_sfIgnore field. | |
| SFBool * | getSFIgnore (void) |
| Get the StateChunk::_sfIgnore field. | |
| bool & | editIgnore (void) |
| Get the value of the StateChunk::_sfIgnore field. | |
| const bool & | getIgnore (void) const |
| Get the value of the StateChunk::_sfIgnore field. | |
| bool & | getIgnore (void) |
| 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) |
| 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 VertexProgramChunkPtr | create (void) |
| create a new instance of the class | |
| static VertexProgramChunkPtr | 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 | MTInfluenceMask |
| static const osg::BitVector | ProgramFieldMask |
| static const osg::BitVector | ParamValuesFieldMask |
| static const osg::BitVector | ParamNamesFieldMask |
| static const osg::BitVector | GLIdFieldMask |
| 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 | |
Init | |
| void | onCreate (const VertexProgramChunk *source=NULL) |
Constructors | |
| VertexProgramChunk (void) | |
| VertexProgramChunk (const VertexProgramChunk &source) | |
Destructors | |
| virtual | ~VertexProgramChunk (void) |
Program-Specific Methods | |
| virtual UInt32 | getExtension (void) const |
| virtual GLenum | getTarget (void) const |
| virtual const char * | getTargetName (void) const |
Sync | |
| void | executeSyncImpl (VertexProgramChunkBase *pOther, const BitVector &whichField) |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField) |
Sync | |
| virtual void | executeSync (FieldContainer &other, const BitVector &whichField)=0 |
Program-Specific Methods | |
| void | printCompileError (Window *win, UInt32 idstatus) |
GL | |
| void | handleGL (Window *win, UInt32 id, GLenum target, UInt32 extension) |
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 | 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 | |
| SFString | _sfProgram |
| MFVec4f | _mfParamValues |
| MFString | _mfParamNames |
| SFUInt32 | _sfGLId |
Fields | |
| SFBool | _sfIgnore |
Fields | |
| SFBool | _sfInternal |
| MFFieldContainerPtr | _parents |
Member | |
| UInt32 | _shares |
Private Types | |
| typedef VertexProgramChunkBase | Inherited |
Private Member Functions | |
| void | operator= (const VertexProgramChunk &source) |
| prohibit default functions (move to 'public' if needed) | |
GL | |
| void | handleGL (Window *win, UInt32 id) |
Static Private Member Functions | |
| static void | initMethod (void) |
Static Private Attributes | |
| static StateChunkClass | _class |
OpenGL Extension Handling | |
| static UInt32 | _arbVertexProgram |
Friends | |
| class | FieldContainer |
| class | VertexProgramChunkBase |
Field Get | |
|
| |
| SFString * | editSFProgram (void) |
| Get the ProgramChunk::_sfProgram field. | |
| const SFString * | getSFProgram (void) const |
| Get the ProgramChunk::_sfProgram field. | |
| SFString * | getSFProgram (void) |
| Get the ProgramChunk::_sfProgram field. | |
| MFVec4f * | editMFParamValues (void) |
| Get the ProgramChunk::_mfParamValues field. | |
| const MFVec4f * | getMFParamValues (void) const |
| Get the ProgramChunk::_mfParamValues field. | |
| MFVec4f * | getMFParamValues (void) |
| Get the ProgramChunk::_mfParamValues field. | |
| MFString * | editMFParamNames (void) |
| Get the ProgramChunk::_mfParamNames field. | |
| const MFString * | getMFParamNames (void) const |
| Get the ProgramChunk::_mfParamNames field. | |
| MFString * | getMFParamNames (void) |
| Get the ProgramChunk::_mfParamNames field. | |
| std::string & | editProgram (void) |
| Get the value of the ProgramChunk::_sfProgram field. | |
| const std::string & | getProgram (void) const |
| Get the value of the ProgramChunk::_sfProgram field. | |
| std::string & | getProgram (void) |
| Get the value of the ProgramChunk::_sfProgram field. | |
| Vec4f & | editParamValues (const UInt32 index) |
| Get the value of the index element the ProgramChunk::_mfParamValues field. | |
| const Vec4f & | getParamValues (const UInt32 index) const |
| Get the value of the index element the ProgramChunk::_mfParamValues field. | |
| Vec4f & | getParamValues (const UInt32 index) |
| Get the value of the index element the ProgramChunk::_mfParamValues field. | |
| MFVec4f & | getParamValues (void) |
| Get the ProgramChunk::_mfParamValues field. | |
| const MFVec4f & | getParamValues (void) const |
| Get the ProgramChunk::_mfParamValues field. | |
| std::string & | editParamNames (const UInt32 index) |
| Get the value of the index element the ProgramChunk::_mfParamNames field. | |
| const std::string & | getParamNames (const UInt32 index) const |
| Get the value of the index element the ProgramChunk::_mfParamNames field. | |
| std::string & | getParamNames (const UInt32 index) |
| Get the value of the index element the ProgramChunk::_mfParamNames field. | |
| MFString & | getParamNames (void) |
| Get the ProgramChunk::_mfParamNames field. | |
| const MFString & | getParamNames (void) const |
| Get the ProgramChunk::_mfParamNames field. | |
| SFUInt32 * | editSFGLId (void) |
| Get the ProgramChunk::_sfGLId field. | |
| const SFUInt32 * | getSFGLId (void) const |
| Get the ProgramChunk::_sfGLId field. | |
| SFUInt32 * | getSFGLId (void) |
| Get the ProgramChunk::_sfGLId field. | |
| UInt32 & | editGLId (void) |
| Get the value of the ProgramChunk::_sfGLId field. | |
| const UInt32 & | getGLId (void) const |
| Get the value of the ProgramChunk::_sfGLId field. | |
| UInt32 & | getGLId (void) |
| Get the value of the ProgramChunk::_sfGLId field. | |
Field Set | |
|
| |
| void | setProgram (const std::string &value) |
| Set the value of the ProgramChunk::_sfProgram field. | |
| void | setGLId (const UInt32 &value) |
| Set the value of the ProgramChunk::_sfGLId field. | |
See VertexProgramChunk for a description. The VertexProgramChunk implements Vertex Programs as specified in the GL_ARB_vertex_program extension. It is just a special version of the osg::ProgramChunk, which contains the whole public interface.
Definition at line 55 of file OSGVertexProgramChunk.h.
typedef VertexProgramChunkBase osg::VertexProgramChunk::Inherited [private] |
Reimplemented from osg::VertexProgramChunkBase.
Reimplemented in osg::FatBorderChunk, and osg::FatBorderChunkBase.
Definition at line 59 of file OSGVertexProgramChunk.h.
typedef VertexProgramChunkPtr osg::VertexProgramChunkBase::Ptr [inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 89 of file OSGVertexProgramChunkBase.h.
anonymous enum [inherited] |
Definition at line 95 of file OSGProgramChunkBase.h.
00096 { 00097 ProgramFieldId = Inherited::NextFieldId, 00098 ParamValuesFieldId = ProgramFieldId + 1, 00099 ParamNamesFieldId = ParamValuesFieldId + 1, 00100 GLIdFieldId = ParamNamesFieldId + 1, 00101 NextFieldId = GLIdFieldId + 1 00102 };
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] |
Definition at line 73 of file OSGFieldContainerImpl.h.
00073 { NextFieldId = 1 };
| VertexProgramChunk::VertexProgramChunk | ( | void | ) | [protected] |
Definition at line 94 of file OSGVertexProgramChunk.cpp.
References _arbVertexProgram, and osg::Window::registerExtension().
00094 : 00095 Inherited() 00096 { 00097 _arbVertexProgram = Window::registerExtension("GL_ARB_vertex_program"); 00098 }
| VertexProgramChunk::VertexProgramChunk | ( | const VertexProgramChunk & | source | ) | [protected] |
Definition at line 100 of file OSGVertexProgramChunk.cpp.
00100 : 00101 Inherited(source) 00102 { 00103 }
| VertexProgramChunk::~VertexProgramChunk | ( | void | ) | [protected, virtual] |
Definition at line 105 of file OSGVertexProgramChunk.cpp.
| const StateChunkClass * VertexProgramChunk::getClass | ( | void | ) | const [virtual] |
Reimplemented from osg::ProgramChunk.
Definition at line 138 of file OSGVertexProgramChunk.cpp.
References _class.
00139 { 00140 return &_class; 00141 }
| UInt32 osg::VertexProgramChunk::getStaticClassId | ( | void | ) | [inline, static] |
Reimplemented from osg::ProgramChunk.
Definition at line 46 of file OSGVertexProgramChunk.inl.
References osg::StateChunkClass::getId(), and getStaticClass().
00047 { 00048 return getStaticClass()->getId(); 00049 }
| const StateChunkClass * osg::VertexProgramChunk::getStaticClass | ( | void | ) | [inline, static] |
Reimplemented from osg::ProgramChunk.
Definition at line 52 of file OSGVertexProgramChunk.inl.
References _class.
Referenced by getStaticClassId().
00053 { 00054 return &VertexProgramChunk::_class; 00055 }
Reimplemented from osg::ProgramChunk.
Reimplemented in osg::FatBorderChunk.
Definition at line 145 of file OSGVertexProgramChunk.cpp.
References osg::ProgramChunk::changed().
Referenced by osg::FatBorderChunk::changed().
00146 { 00147 Inherited::changed(whichField, origin); 00148 }
Reimplemented from osg::ProgramChunk.
Reimplemented in osg::FatBorderChunk.
Definition at line 150 of file OSGVertexProgramChunk.cpp.
References SLOG.
00152 { 00153 SLOG << "Dump VertexProgramChunk NI" << std::endl; 00154 }
| void VertexProgramChunk::onCreate | ( | const VertexProgramChunk * | source = NULL |
) | [protected] |
Reimplemented from osg::ProgramChunk.
Reimplemented in osg::FatBorderChunk.
Definition at line 111 of file OSGVertexProgramChunk.cpp.
References osg::beginEditCP(), osg::endEditCP(), osg::ProgramChunkBase::GLIdFieldMask, osg::GlobalSystemState, handleGL(), osg::osgTypedMethodVoidFunctor2ObjCPtrPtr(), osg::Window::registerGLObject(), osg::ProgramChunkBase::setGLId(), and osg::Startup.
Referenced by osg::FatBorderChunk::onCreate().
00112 { 00113 if(GlobalSystemState == Startup) 00114 return; 00115 00116 // !!! this temporary is needed to work around compiler problems (sgi) 00117 // CHECK CHECK 00118 // VertexProgramChunkPtr tmpPtr = FieldContainer::getPtr<ProgramChunkPtr>(*this); 00119 VertexProgramChunkPtr tmpPtr(*this); 00120 00121 beginEditCP(tmpPtr, VertexProgramChunk::GLIdFieldMask); 00122 00123 setGLId( 00124 Window::registerGLObject( 00125 osgTypedMethodVoidFunctor2ObjCPtrPtr<VertexProgramChunkPtr, 00126 Window , 00127 UInt32>( 00128 tmpPtr, 00129 &VertexProgramChunk::handleGL), 00130 1)); 00131 00132 endEditCP(tmpPtr, VertexProgramChunk::GLIdFieldMask); 00133 }
| UInt32 VertexProgramChunk::getExtension | ( | void | ) | const [protected, virtual] |
Reimplemented from osg::ProgramChunk.
Definition at line 166 of file OSGVertexProgramChunk.cpp.
References _arbVertexProgram.
00167 { 00168 return _arbVertexProgram; 00169 }
| GLenum VertexProgramChunk::getTarget | ( | void | ) | const [protected, virtual] |
Reimplemented from osg::ProgramChunk.
Definition at line 171 of file OSGVertexProgramChunk.cpp.
References GL_VERTEX_PROGRAM_ARB.
00172 { 00173 return GL_VERTEX_PROGRAM_ARB; 00174 }
| const char * VertexProgramChunk::getTargetName | ( | void | ) | const [protected, virtual] |
Reimplemented from osg::ProgramChunk.
Definition at line 176 of file OSGVertexProgramChunk.cpp.
| void VertexProgramChunk::initMethod | ( | void | ) | [static, private] |
Reimplemented from osg::ProgramChunk.
Reimplemented in osg::FatBorderChunk.
Definition at line 79 of file OSGVertexProgramChunk.cpp.
GL object handler create the program and destroy it
Definition at line 161 of file OSGVertexProgramChunk.cpp.
References _arbVertexProgram, GL_VERTEX_PROGRAM_ARB, and osg::ProgramChunk::handleGL().
Referenced by onCreate().
00162 { 00163 Inherited::handleGL(win, idstatus, GL_VERTEX_PROGRAM_ARB, _arbVertexProgram); 00164 }
| void osg::VertexProgramChunk::operator= | ( | const VertexProgramChunk & | source | ) | [private] |
Reimplemented from osg::VertexProgramChunkBase.
Reimplemented in osg::FatBorderChunk, and osg::FatBorderChunkBase.
| osg::FieldContainerType & osg::VertexProgramChunkBase::getClassType | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 58 of file OSGVertexProgramChunkBase.inl.
References osg::VertexProgramChunkBase::_type.
Referenced by osg::VertexProgramChunkBase::create(), and osg::RemoteAspect::RemoteAspect().
00059 { 00060 return _type; 00061 }
| osg::UInt32 osg::VertexProgramChunkBase::getClassTypeId | ( | void | ) | [inline, static, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 65 of file OSGVertexProgramChunkBase.inl.
References osg::VertexProgramChunkBase::_type, and osg::TypeBase::getId().
00066 { 00067 return _type.getId(); 00068 }
| FieldContainerType & osg::VertexProgramChunkBase::getType | ( | void | ) | [virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 86 of file OSGVertexProgramChunkBase.cpp.
References osg::VertexProgramChunkBase::_type.
00087 { 00088 return _type; 00089 }
| const FieldContainerType & osg::VertexProgramChunkBase::getType | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 91 of file OSGVertexProgramChunkBase.cpp.
References osg::VertexProgramChunkBase::_type.
00092 { 00093 return _type; 00094 }
| UInt32 osg::VertexProgramChunkBase::getContainerSize | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 106 of file OSGVertexProgramChunkBase.cpp.
| UInt32 osg::VertexProgramChunkBase::getBinSize | ( | const BitVector & | whichField | ) | [virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 167 of file OSGVertexProgramChunkBase.cpp.
References osg::ProgramChunkBase::getBinSize().
Referenced by osg::FatBorderChunkBase::getBinSize().
00168 { 00169 UInt32 returnValue = Inherited::getBinSize(whichField); 00170 00171 00172 return returnValue; 00173 }
| void osg::VertexProgramChunkBase::copyToBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 175 of file OSGVertexProgramChunkBase.cpp.
References osg::ProgramChunkBase::copyToBin().
Referenced by osg::FatBorderChunkBase::copyToBin().
00177 { 00178 Inherited::copyToBin(pMem, whichField); 00179 00180 00181 }
| void osg::VertexProgramChunkBase::copyFromBin | ( | BinaryDataHandler & | pMem, | |
| const BitVector & | whichField | |||
| ) | [virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 183 of file OSGVertexProgramChunkBase.cpp.
References osg::ProgramChunkBase::copyFromBin().
Referenced by osg::FatBorderChunkBase::copyFromBin().
00185 { 00186 Inherited::copyFromBin(pMem, whichField); 00187 00188 00189 }
| VertexProgramChunkPtr osg::VertexProgramChunkBase::create | ( | void | ) | [inline, static, inherited] |
Reimplemented in osg::FatBorderChunkBase.
Definition at line 72 of file OSGVertexProgramChunkBase.inl.
References osg::AttachmentPtr::dcast(), osg::VertexProgramChunkBase::getClassType(), osg::NullFC, and osg::VertexProgramChunkBase::shallowCopy().
00073 { 00074 VertexProgramChunkPtr fc; 00075 00076 if(getClassType().getPrototype() != OSG::NullFC) 00077 { 00078 fc = VertexProgramChunkPtr::dcast( 00079 getClassType().getPrototype()-> shallowCopy()); 00080 } 00081 00082 return fc; 00083 }
| VertexProgramChunkPtr osg::VertexProgramChunkBase::createEmpty | ( | void | ) | [inline, static, inherited] |
Reimplemented in osg::FatBorderChunkBase.
Definition at line 87 of file OSGVertexProgramChunkBase.inl.
References osg::FieldContainer::newPtr().
00088 { 00089 VertexProgramChunkPtr returnValue; 00090 00091 newPtr(returnValue); 00092 00093 return returnValue; 00094 }
| FieldContainerPtr osg::VertexProgramChunkBase::shallowCopy | ( | void | ) | const [virtual, inherited] |
Implements osg::FieldContainer.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 97 of file OSGVertexProgramChunkBase.cpp.
References osg::FieldContainer::newPtr().
Referenced by osg::VertexProgramChunkBase::create().
00098 { 00099 VertexProgramChunkPtr returnValue; 00100 00101 newPtr(returnValue, dynamic_cast<const VertexProgramChunk *>(this)); 00102 00103 return returnValue; 00104 }
| void osg::VertexProgramChunkBase::executeSyncImpl | ( | VertexProgramChunkBase * | pOther, | |
| const BitVector & | whichField | |||
| ) | [protected, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 192 of file OSGVertexProgramChunkBase.cpp.
References osg::ProgramChunkBase::executeSyncImpl().
Referenced by osg::VertexProgramChunkBase::executeSync(), and osg::FatBorderChunkBase::executeSyncImpl().
00194 { 00195 00196 Inherited::executeSyncImpl(pOther, whichField); 00197 00198 00199 }
| void osg::VertexProgramChunkBase::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, virtual, inherited] |
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 113 of file OSGVertexProgramChunkBase.cpp.
References osg::VertexProgramChunkBase::executeSyncImpl().
00115 { 00116 this->executeSyncImpl(static_cast<VertexProgramChunkBase *>(&other), 00117 whichField); 00118 }
| virtual void osg::FieldContainer::executeSync | ( | FieldContainer & | other, | |
| const BitVector & | whichField | |||
| ) | [protected, pure virtual, inherited] |
Referenced by osg::FieldContainerPtrBase::executeSync().
| bool ProgramChunk::read | ( | const char * | file | ) | [inherited] |
Read the program string from the given file
Definition at line 187 of file OSGProgramChunk.cpp.
References FWARNING.
| bool ProgramChunk::read | ( | std::istream & | stream | ) | [inherited] |
Read the program string from the given stream
Definition at line 205 of file OSGProgramChunk.cpp.
References BUFSIZE, osg::ProgramChunkBase::editProgram(), and FWARNING.
00206 { 00207 #define BUFSIZE 200 00208 00209 editProgram().erase(); 00210 char buf[BUFSIZE]; 00211 00212 if(!stream.good()) 00213 { 00214 FWARNING(("ProgramChunk::read: stream is not good!\n")); 00215 return false; 00216 00217 } 00218 00219 do 00220 { 00221 stream.read(buf, BUFSIZE); 00222 editProgram().append(buf, stream.gcount()); 00223 } 00224 while(!stream.eof()); 00225 00226 return true; 00227 }
| bool ProgramChunk::addParameter | ( | const char * | name, | |
| Int16 | index | |||
| ) | [inherited] |
Add a named parameter
Definition at line 231 of file OSGProgramChunk.cpp.
References osg::ProgramChunkBase::editMFParamNames(), osg::ProgramChunkBase::editParamNames(), osg::ProgramChunkBase::getMFParamNames(), and osg::MField< FieldTypeT, fieldNameSpace >::resize().
Referenced by osg::ProgramChunk::addParameter().
00233 { 00234 if(index < 0) 00235 return true; 00236 00237 if(getMFParamNames()->size() <= UInt16(index)) 00238 { 00239 editMFParamNames()->resize(index + 1); 00240 } 00241 editParamNames(index) = name; 00242 return false; 00243 }
| bool osg::ProgramChunk::addParameter | ( | const char * | name, | |
| Int16 | index, | |||
| const Vec4f & | value | |||
| ) | [inline, inherited] |
Concvenience function to add a new parameter and directly set its value.
Definition at line 63 of file OSGProgramChunk.inl.
References osg::ProgramChunk::addParameter(), and osg::ProgramChunk::setParameter().
00066 { 00067 addParameter(name, index); 00068 return setParameter(index, value); 00069 }
Read the program string from the given file
Definition at line 245 of file OSGProgramChunk.cpp.
References osg::ProgramChunkBase::getMFParamValues(), and osg::ProgramChunkBase::getParamValues().
Referenced by osg::ProgramChunk::getParameter().
00246 { 00247 static const Vec4f bad(-1e10,-1e10,-1e10); 00248 00249 if(index < 0) 00250 return bad; 00251 00252 if(getMFParamValues()->size() <= UInt16(index)) 00253 { 00254 return getParamValues(index); 00255 } 00256 00257 return bad; 00258 }
| const Vec4f & osg::ProgramChunk::getParameter | ( | const char * | name | ) | [inline, inherited] |
Read the program string from the given file
Definition at line 72 of file OSGProgramChunk.inl.
References osg::ProgramChunk::findParameter(), and osg::ProgramChunk::getParameter().
00073 { 00074 return getParameter(findParameter(name)); 00075 }
| const Vec4f & osg::ProgramChunk::getParameter | ( | const std::string & | name | ) | [inline, inherited] |
Read the program string from the given file
Definition at line 78 of file OSGProgramChunk.inl.
References osg::ProgramChunk::findParameter(), and osg::ProgramChunk::getParameter().
00079 { 00080 return getParameter(findParameter(name.c_str())); 00081 }
Set parameter value, create it if not set yet.
Definition at line 262 of file OSGProgramChunk.cpp.
References osg::ProgramChunkBase::editMFParamValues(), osg::ProgramChunkBase::editParamValues(), osg::ProgramChunkBase::getMFParamValues(), and osg::MField< FieldTypeT, fieldNameSpace >::resize().
Referenced by osg::ProgramChunk::addParameter(), and osg::ProgramChunk::setParameter().
00263 { 00264 if(index < 0) 00265 return true; 00266 00267 if(getMFParamValues()->size() <= UInt16(index)) 00268 { 00269 editMFParamValues()->resize(index + 1); 00270 } 00271 editParamValues(index) = value; 00272 return false; 00273 }
| bool osg::ProgramChunk::setParameter | ( | const char * | name, | |
| const Vec4f & | value | |||
| ) | [inline, inherited] |
Read the program string from the given file
Definition at line 84 of file OSGProgramChunk.inl.
References osg::ProgramChunk::findParameter(), and osg::ProgramChunk::setParameter().
00085 { 00086 return setParameter(findParameter(name), value); 00087 }
| bool osg::ProgramChunk::setParameter | ( | const std::string & | name, | |
| const Vec4f & | value | |||
| ) | [inline, inherited] |
Read the program string from the given file
Definition at line 90 of file OSGProgramChunk.inl.
References osg::ProgramChunk::findParameter(), and osg::ProgramChunk::setParameter().
00091 { 00092 return setParameter(findParameter(name.c_str()), value); 00093 }
| Int16 osg::ProgramChunk::findParameter | ( | const char * | name | ) | [inline, inherited] |
Read the program string from the given file
Definition at line 96 of file OSGProgramChunk.inl.
Referenced by osg::ProgramChunk::getParameter(), and osg::ProgramChunk::setParameter().
00097 { 00098 return findParameter(std::string(name)); 00099 }
| Int16 ProgramChunk::findParameter | ( | const std::string & | name | ) | [inherited] |
Find the index for a named parameter, return -1 if not found.
Definition at line 277 of file OSGProgramChunk.cpp.
References osg::MField< FieldTypeT, fieldNameSpace >::begin(), and osg::ProgramChunkBase::getMFParamNames().
00278 { 00279 MField<std::string>::const_iterator it; 00280 00281 it = std::find(getMFParamNames()->begin(), getMFParamNames()->end(), name); 00282 00283 if(it == getMFParamNames()->end()) 00284 return -1; 00285 00286 return it - getMFParamNames()->begin(); 00287 }
| void ProgramChunk::activate | ( | DrawActionBase * | action, | |
| UInt32 | index = 0 | |||
| ) | [virtual, inherited] |
Reimplemented from osg::StateChunk.
Definition at line 471 of file OSGProgramChunk.cpp.
References osg::ProgramChunk::_funcBindProgram, osg::ProgramChunk::getExtension(), osg::Window::getFunction(), osg::ProgramChunkBase::getGLId(), osg::Window::getGLObjectId(), osg::ProgramChunkBase::getProgram(), osg::ProgramChunk::getTarget(), osg::DrawActionBase::getWindow(), glErr, GLuint(), osg::Window::hasExtension(), OSG_APIENTRY, and osg::Window::validateGLObject().
00472 { 00473 // get the program-type specifics from the derived chunks 00474 GLenum target = getTarget(); 00475 UInt32 extension = getExtension(); 00476 00477 if(!action->getWindow()->hasExtension(extension)) 00478 { 00479 return; 00480 } 00481 00482 if(getProgram().empty()) 00483 return; 00484 00485 action->getWindow()->validateGLObject(getGLId()); 00486 00487 // get "glBindProgramARB" function pointer 00488 void (OSG_APIENTRY* bindProgram)(GLenum target, GLuint prog) = 00489 reinterpret_cast<void (OSG_APIENTRY*)(GLenum target, GLuint prog)>( 00490 action->getWindow()->getFunction(_funcBindProgram)); 00491 00492 glErr("ProgramChunk::activate: bindProgram precheck"); 00493 00494 glEnable(target); 00495 00496 glErr("ProgramChunk::activate: enable postcheck"); 00497 00498 bindProgram(target, action->getWindow()->getGLObjectId(getGLId())); 00499 00500 glErr("ProgramChunk::activate: bindProgram postcheck"); 00501 }
| void ProgramChunk::changeFrom | ( | DrawActionBase * | action, | |
| StateChunk * | old, | |||
| UInt32 | index = 0 | |||
| ) | [virtual, inherited] |
Definition at line 503 of file OSGProgramChunk.cpp.
References osg::ProgramChunk::_funcBindProgram, FWARNING, osg::ProgramChunk::getExtension(), osg::Window::getFunction(), osg::ProgramChunkBase::getGLId(), osg::Window::getGLObjectId(), osg::ProgramChunkBase::getProgram(), osg::ProgramChunk::getTarget(), osg::DrawActionBase::getWindow(), glErr, GLuint(), osg::Window::hasExtension(), OSG_APIENTRY, and osg::Window::validateGLObject().
00506 { 00507 ProgramChunk * old = dynamic_cast<ProgramChunk*>(old_chunk); 00508 00509 if(old == NULL) 00510 { 00511 FWARNING(( "ProgramChunk::changeFrom: caught non-ProgramChunk!\n")); 00512 return; 00513 } 00514 00515 // get the program-type specifics from the derived chunks 00516 GLenum target = getTarget(); 00517 UInt32 extension = getExtension(); 00518 00519 if(!action->getWindow()->hasExtension(extension)) 00520 return; 00521 00522 if(getProgram().empty()) 00523 { 00524 if(old->getProgram().empty()) 00525 return; 00526 00527 glDisable(target); 00528 } 00529 00530 action->getWindow()->validateGLObject(getGLId()); 00531 00532 // get "glBindProgramARB" function pointer 00533 void (OSG_APIENTRY* bindProgram)(GLenum target, GLuint prog) = 00534 reinterpret_cast<void (OSG_APIENTRY*)(GLenum target, GLuint prog)>( 00535 action->getWindow()->getFunction(_funcBindProgram)); 00536 00537 glErr("ProgramChunk::changeFrom: bindProgram precheck"); 00538 00539 if(old->getProgram().empty()) 00540 glEnable(target); 00541 00542 glErr("ProgramChunk::changeFrom: enable postcheck"); 00543 00544 bindProgram(target, action->getWindow()->getGLObjectId(getGLId())); 00545 00546 glErr("ProgramChunk::changeFrom: bindProgram postcheck"); 00547 }
| void StateChunk::changeFrom | ( | DrawActionBase * | action, | |
| StateChunk * | old, | |||
| UInt32 | index = 0 | |||
| ) | [virtual, inherited] |
Change from an old chunk of the same type to this chunk. Note that in general no type checking is done, make sure to use this on a legal combination of chunks!
Definition at line 330 of file OSGStateChunk.cpp.
References osg::StateChunk::activate(), and osg::StateChunk::deactivate().
00333 { 00334 old->deactivate(action, index); 00335 activate(action, index); 00336 }
| void ProgramChunk::deactivate | ( | DrawActionBase * | action, | |
| UInt32 | index = 0 | |||
| ) | [virtual, inherited] |
Reimplemented from osg::StateChunk.
Definition at line 549 of file OSGProgramChunk.cpp.
References osg::ProgramChunk::_funcBindProgram, osg::ProgramChunk::getExtension(), osg::Window::getFunction(), osg::ProgramChunkBase::getGLId(), osg::Window::getGLObjectId(), osg::ProgramChunkBase::getProgram(), osg::ProgramChunk::getTarget(), osg::DrawActionBase::getWindow(), glErr, GLuint(), osg::Window::hasExtension(), and OSG_APIENTRY.
00550 { 00551 // get the program-type specifics from the derived chunks 00552 GLenum target = getTarget(); 00553 UInt32 extension = getExtension(); 00554 00555 if(!action->getWindow()->hasExtension(extension)) 00556 { 00557 return; 00558 } 00559 00560 if(getProgram().empty()) 00561 { 00562 return; 00563 } 00564 00565 // get "glBindProgramARB" function pointer 00566 void (OSG_APIENTRY* bindProgram)(GLenum target, GLuint prog) = 00567 reinterpret_cast<void (OSG_APIENTRY*)(GLenum target, GLuint prog)>( 00568 action->getWindow()->getFunction(_funcBindProgram)); 00569 00570 00571 glErr("ProgramChunk::deactivate: bindProgram precheck"); 00572 00573 bindProgram(target, action->getWindow()->getGLObjectId(getGLId())); 00574 00575 glErr("ProgramChunk::deactivate: bindProgram postcheck"); 00576 00577 glDisable(target); 00578 00579 glErr("ProgramChunk::deactivate: disable postcheck"); 00580 }
| bool ProgramChunk::isTransparent | ( | void | ) | const [virtual, inherited] |
Reimplemented from osg::StateChunk.
Definition at line 612 of file OSGProgramChunk.cpp.
| Real32 ProgramChunk::switchCost | ( | StateChunk * | chunk | ) | [virtual, inherited] |
Definition at line 617 of file OSGProgramChunk.cpp.
| Real32 StateChunk::switchCost | ( | StateChunk * | chunk | ) | [virtual, inherited] |
Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0.
Definition at line 370 of file OSGStateChunk.cpp.
| bool ProgramChunk::operator< | ( | const StateChunk & | other | ) | const [virtual, inherited] |
Definition at line 622 of file OSGProgramChunk.cpp.
| bool StateChunk::operator< | ( | const StateChunk & | other | ) | const [virtual, inherited] |
Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0.
Definition at line 375 of file OSGStateChunk.cpp.
| bool ProgramChunk::operator== | ( | const StateChunk & | other | ) | const [virtual, inherited] |
Definition at line 627 of file OSGProgramChunk.cpp.
References osg::ProgramChunkBase::getMFParamNames(), osg::ProgramChunkBase::getMFParamValues(), osg::ProgramChunkBase::getProgram(), and osg::MField< FieldTypeT, fieldNameSpace >::size().
00628 { 00629 ProgramChunk const *tother = dynamic_cast<ProgramChunk const*>(&other); 00630 00631 if(!tother) 00632 return false; 00633 00634 if(tother == this) 00635 return true; 00636 00637 if(getProgram() != tother->getProgram() || 00638 getMFParamValues()->size() != tother->getMFParamValues()->size() || 00639 getMFParamNames ()->size() != tother->getMFParamNames ()->size() 00640 ) 00641 return false; 00642 00643 // !!! FIXME: implement 00644 00645 return false; 00646 }
| bool StateChunk::operator== | ( | const StateChunk & | other | ) | const [virtual, inherited] |
Compare two chunks. In most cases not implemented yet, will return false.
Definition at line 383 of file OSGStateChunk.cpp.
| bool ProgramChunk::operator!= | ( | const StateChunk & | other | ) | const [virtual, inherited] |
Definition at line 648 of file OSGProgramChunk.cpp.
| bool StateChunk::operator!= | ( | const StateChunk & | other | ) | const [virtual, inherited] |
Calculate how expensive it is to switch from one instance of the chunk class to another. In most cases not implemented yet, will return 0.
Definition at line 388 of file OSGStateChunk.cpp.
Print the error message if compilation fails
Definition at line 294 of file OSGProgramChunk.cpp.
References osg::endLog(), FWARNING, osg::ProgramChunkBase::getProgram(), GL_PROGRAM_ERROR_POSITION_ARB, GL_PROGRAM_ERROR_STRING_ARB, SWARNING, and osg::Window::unpackIdStatus().
Referenced by osg::ProgramChunk::handleGL().
00295 { 00296 Window::GLObjectStatusE mode; 00297 UInt32 id; 00298 00299 Window::unpackIdStatus(idstatus, id, mode); 00300 00301 GLint pos; 00302 glGetIntegerv(GL_PROGRAM_ERROR_POSITION_ARB, &pos); 00303 00304 FWARNING(("ProgramChunk(%p:%d,%d): error compiling program " 00305 "at position %d: %s\n", 00306 win, id, mode, pos, glGetString(GL_PROGRAM_ERROR_STRING_ARB))); 00307 00308 UInt32 start = 0, end, line = 0; 00309 00310 for(end = 0; end < getProgram().size(); ++end) 00311 { 00312 if(getProgram()[end] == '\n') 00313 { 00314 ++line; 00315 00316 if(UInt32(pos) < end) 00317 break; 00318 00319 start = end + 1; 00320 } 00321 } 00322 00323 std::string mesg; 00324 00325 for(UInt32 i = start; i < end; ++i) 00326 { 00327 if(i == pos) 00328 { 00329 mesg += '>'; 00330 mesg += '>'; 00331 } 00332 00333 mesg += getProgram()[i]; 00334 00335 if(i == pos) 00336 { 00337 mesg += '<'; 00338 mesg += '<'; 00339 } 00340 } 00341 00342 SWARNING << "Location (line " << line << "): " << mesg << endLog; 00343 }
| void ProgramChunk::handleGL | ( | Window * | win, | |
| UInt32 | idstatus, | |||
| GLenum | target, | |||
| UInt32 | extension | |||
| ) | [protected, inherited] |
GL object handler create the program and destroy it
Definition at line 348 of file OSGProgramChunk.cpp.
References osg::ProgramChunk::_funcBindProgram, osg::ProgramChunk::_funcDeletePrograms, osg::ProgramChunk::_funcGenPrograms, osg::ProgramChunk::_funcProgramLocalParameter4fv, osg::ProgramChunk::_funcProgramString, osg::Window::destroy, osg::endLog(), osg::Window::finaldestroy, osg::Window::getFunction(), osg::Window::getGLObjectId(), osg::ProgramChunkBase::getMFParamValues(), osg::ProgramChunkBase::getParamValues(), osg::ProgramChunkBase::getProgram(), osg::Point< ValueTypeT, SizeI >::getValues(), GL_PROGRAM_FORMAT_ASCII_ARB, glErr, GLuint(), osg::Window::hasExtension(), osg::Window::initialize, osg::Window::needrefresh, OSG_APIENTRY, osg::ProgramChunk::printCompileError(), osg::Window::reinitialize, osg::Window::setGLObjectId(), osg::MField< FieldTypeT, fieldNameSpace >::size(), SWARNING, and osg::Window::unpackIdStatus().
Referenced by handleGL(), and osg::FragmentProgramChunk::handleGL().
00349 { 00350 Window::GLObjectStatusE mode; 00351 UInt32 osgid; 00352 GLuint id; 00353 00354 Window::unpackIdStatus(idstatus, osgid, mode); 00355 00356 // get the program-specific specifics from the derived chunks 00357 // We can't call this member methods on Window::destroy because 00358 // the ProgramChunk instance is already destroyed. 00359 //GLenum target = getTarget(); 00360 //UInt32 extension = getExtension(); 00361 00362 if(!win->hasExtension(extension)) 00363 return; 00364 00365 id = win->getGLObjectId(osgid); 00366 00367 if(mode == Window::destroy) 00368 { 00369 // get "glDeleteProgramsARB" function pointer 00370 void (OSG_APIENTRY* deletePrograms)(GLsizei num, const GLuint *progs) = 00371 reinterpret_cast<void (OSG_APIENTRY*)(GLsizei num, 00372 const GLuint *progs)>( 00373 win->getFunction(_funcDeletePrograms)); 00374 00375 deletePrograms(1, &id); 00376 win->setGLObjectId(osgid, 0); 00377 } 00378 else if(mode == Window::finaldestroy) 00379 { 00380 //SWARNING << "Last program user destroyed" << std::endl; 00381 } 00382 else if(mode == Window::initialize || mode == Window::reinitialize || 00383 mode == Window::needrefresh) 00384 { 00385 if(mode == Window::initialize) 00386 { 00387 // get "glGenProgramsARB" function pointer 00388 void (OSG_APIENTRY* genPrograms)(GLsizei n, GLuint *prog) = 00389 reinterpret_cast<void (OSG_APIENTRY*)(GLsizei n, GLuint *prog)>( 00390 win->getFunction(_funcGenPrograms)); 00391 genPrograms(1, &id); 00392 win->setGLObjectId(osgid, id); 00393 } 00394 00395 // get "glBindProgramARB" function pointer 00396 void (OSG_APIENTRY* bindProgram)(GLenum target, GLuint prog) = 00397 reinterpret_cast<void (OSG_APIENTRY*)(GLenum target, GLuint prog)>( 00398 win->getFunction(_funcBindProgram)); 00399 00400 glErr("ProgramChunk::handleGL: bindProgram precheck"); 00401 00402 bindProgram(target, id); 00403 00404 glErr("ProgramChunk::handleGL: bindProgram postcheck"); 00405 00406 if(mode != Window::needrefresh) 00407 { 00408 // get "glProgramStringARB" function pointer 00409 void (OSG_APIENTRY* programString)(GLenum target, GLenum format, 00410 GLsizei lesn, const void *string) = 00411 reinterpret_cast<void (OSG_APIENTRY*)(GLenum target, 00412 GLenum format, 00413 GLsizei len, 00414 const void *string)>( 00415 win->getFunction(_funcProgramString)); 00416 00417 glErr("ProgramChunk::handleGL: programString precheck"); 00418 00419 glEnable(target); 00420 00421 glErr("ProgramChunk::handleGL: enable postcheck"); 00422 00423 programString(target, GL_PROGRAM_FORMAT_ASCII_ARB, 00424 getProgram().size(), getProgram().c_str()); 00425 00426 GLenum err = glGetError(); 00427 00428 if(err == GL_INVALID_OPERATION) 00429 { 00430 printCompileError(win, idstatus); 00431 } 00432 else if (err != GL_NO_ERROR) 00433 { 00434 SWARNING << "ProgramChunk::programString postcheck failed:" 00435 << gluErrorString(err) << endLog; 00436 } 00437 00438 glDisable(target); 00439 00440 glErr("ProgramChunk::handleGL: disable postcheck"); 00441 } 00442 00443 void (OSG_APIENTRY* programLocalParameter4fv)(GLenum target, 00444 GLuint index, const GLfloat *params) = 00445 reinterpret_cast<void (OSG_APIENTRY*)(GLenum target, 00446 GLuint index, 00447 const GLfloat *params)>( 00448 win->getFunction(_funcProgramLocalParameter4fv)); 00449 00450 glErr("ProgramChunk::handleGL: programLocalParameter precheck"); 00451 00452 for(UInt16 i = 0; i < getMFParamValues()->size(); ++i) 00453 { 00454 const Vec4f &val=getParamValues(i); 00455 00456 programLocalParameter4fv(target, i, val.getValues()); 00457 00458 glErr("ProgramChunk::handleGL: programLocalParameter"); 00459 } 00460 00461 glErr("ProgramChunk::handleGL: programLocalParameter postcheck"); 00462 } 00463 else 00464 { 00465 SWARNING << "ProgramChunk(" << this << "::handleGL: Illegal mode: " 00466 << mode << " for id " << id << std::endl; 00467 } 00468 00469 }
| SFString * osg::ProgramChunkBase::editSFProgram | ( | void | ) | [inline, inherited] |
Definition at line 82 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram.
00083 { 00084 return &_sfProgram; 00085 }
| const SFString * osg::ProgramChunkBase::getSFProgram | ( | void | ) | const [inline, inherited] |
Definition at line 75 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram.
00076 { 00077 return &_sfProgram; 00078 }
| SFString * osg::ProgramChunkBase::getSFProgram | ( | void | ) | [inline, inherited] |
Definition at line 90 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram.
00091 { 00092 return &_sfProgram; 00093 }
| MFVec4f * osg::ProgramChunkBase::editMFParamValues | ( | void | ) | [inline, inherited] |
Definition at line 105 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
Referenced by osg::ProgramChunk::setParameter().
00106 { 00107 return &_mfParamValues; 00108 }
| const MFVec4f * osg::ProgramChunkBase::getMFParamValues | ( | void | ) | const [inline, inherited] |
Definition at line 98 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
Referenced by osg::ProgramChunk::getParameter(), osg::ProgramChunk::handleGL(), osg::ProgramChunk::operator==(), and osg::ProgramChunk::setParameter().
00099 { 00100 return &_mfParamValues; 00101 }
| MFVec4f * osg::ProgramChunkBase::getMFParamValues | ( | void | ) | [inline, inherited] |
Definition at line 113 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
00114 { 00115 return &_mfParamValues; 00116 }
| MFString * osg::ProgramChunkBase::editMFParamNames | ( | void | ) | [inline, inherited] |
Definition at line 128 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
Referenced by osg::ProgramChunk::addParameter().
00129 { 00130 return &_mfParamNames; 00131 }
| const MFString * osg::ProgramChunkBase::getMFParamNames | ( | void | ) | const [inline, inherited] |
Definition at line 121 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
Referenced by osg::ProgramChunk::addParameter(), osg::ProgramChunk::findParameter(), and osg::ProgramChunk::operator==().
00122 { 00123 return &_mfParamNames; 00124 }
| MFString * osg::ProgramChunkBase::getMFParamNames | ( | void | ) | [inline, inherited] |
Definition at line 136 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
00137 { 00138 return &_mfParamNames; 00139 }
| std::string & osg::ProgramChunkBase::editProgram | ( | void | ) | [inline, inherited] |
Definition at line 168 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::ProgramChunk::read().
00169 { 00170 return _sfProgram.getValue(); 00171 }
| const std::string & osg::ProgramChunkBase::getProgram | ( | void | ) | const [inline, inherited] |
Definition at line 175 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::ProgramChunk::activate(), osg::ProgramChunk::changeFrom(), osg::ProgramChunk::deactivate(), osg::ProgramChunk::handleGL(), osg::ProgramChunk::operator==(), and osg::ProgramChunk::printCompileError().
00176 { 00177 return _sfProgram.getValue(); 00178 }
| std::string & osg::ProgramChunkBase::getProgram | ( | void | ) | [inline, inherited] |
Definition at line 183 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00184 { 00185 return _sfProgram.getValue(); 00186 }
Definition at line 229 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
Referenced by osg::ProgramChunk::setParameter().
00230 { 00231 return _mfParamValues[index]; 00232 }
| const Vec4f & osg::ProgramChunkBase::getParamValues | ( | const UInt32 | index | ) | const [inline, inherited] |
Definition at line 236 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
00237 { 00238 return _mfParamValues[index]; 00239 }
Definition at line 244 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
00245 { 00246 return _mfParamValues[index]; 00247 }
| MFVec4f & osg::ProgramChunkBase::getParamValues | ( | void | ) | [inline, inherited] |
Definition at line 251 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
Referenced by osg::ProgramChunk::getParameter(), and osg::ProgramChunk::handleGL().
00252 { 00253 return _mfParamValues; 00254 }
| const MFVec4f & osg::ProgramChunkBase::getParamValues | ( | void | ) | const [inline, inherited] |
Definition at line 258 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamValues.
00259 { 00260 return _mfParamValues; 00261 }
| std::string & osg::ProgramChunkBase::editParamNames | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 267 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
Referenced by osg::ProgramChunk::addParameter().
00268 { 00269 return _mfParamNames[index]; 00270 }
| const std::string & osg::ProgramChunkBase::getParamNames | ( | const UInt32 | index | ) | const [inline, inherited] |
Definition at line 274 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
00275 { 00276 return _mfParamNames[index]; 00277 }
| std::string & osg::ProgramChunkBase::getParamNames | ( | const UInt32 | index | ) | [inline, inherited] |
Definition at line 282 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
00283 { 00284 return _mfParamNames[index]; 00285 }
| MFString & osg::ProgramChunkBase::getParamNames | ( | void | ) | [inline, inherited] |
Definition at line 289 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
00290 { 00291 return _mfParamNames; 00292 }
| const MFString & osg::ProgramChunkBase::getParamNames | ( | void | ) | const [inline, inherited] |
Definition at line 296 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_mfParamNames.
00297 { 00298 return _mfParamNames; 00299 }
| void osg::ProgramChunkBase::setProgram | ( | const std::string & | value | ) | [inline, inherited] |
Definition at line 191 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfProgram, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by osg::FatBorderChunk::activateWithFragmentBasedLighting(), and osg::FatBorderChunk::activateWithStandardLighting().
00192 { 00193 _sfProgram.setValue(value); 00194 }
| SFUInt32 * osg::ProgramChunkBase::editSFGLId | ( | void | ) | [inline, protected, inherited] |
Definition at line 151 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId.
00152 { 00153 return &_sfGLId; 00154 }
| const SFUInt32 * osg::ProgramChunkBase::getSFGLId | ( | void | ) | const [inline, protected, inherited] |
Definition at line 144 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId.
00145 { 00146 return &_sfGLId; 00147 }
| SFUInt32 * osg::ProgramChunkBase::getSFGLId | ( | void | ) | [inline, protected, inherited] |
Definition at line 159 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId.
00160 { 00161 return &_sfGLId; 00162 }
| UInt32 & osg::ProgramChunkBase::editGLId | ( | void | ) | [inline, protected, inherited] |
Definition at line 198 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00199 { 00200 return _sfGLId.getValue(); 00201 }
| const UInt32 & osg::ProgramChunkBase::getGLId | ( | void | ) | const [inline, protected, inherited] |
Definition at line 205 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
Referenced by osg::ProgramChunk::activate(), osg::ProgramChunk::changed(), osg::ProgramChunk::changeFrom(), osg::ProgramChunk::deactivate(), and osg::ProgramChunk::~ProgramChunk().
00206 { 00207 return _sfGLId.getValue(); 00208 }
| UInt32 & osg::ProgramChunkBase::getGLId | ( | void | ) | [inline, protected, inherited] |
Definition at line 213 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00214 { 00215 return _sfGLId.getValue(); 00216 }
| void osg::ProgramChunkBase::setGLId | ( | const UInt32 & | value | ) | [inline, protected, inherited] |
Definition at line 221 of file OSGProgramChunkBase.inl.
References osg::ProgramChunkBase::_sfGLId, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
Referenced by onCreate(), and osg::FragmentProgramChunk::onCreate().
| 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::editSFIgnore | ( | void | ) | [inline, inherited] |
Definition at line 82 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore.
00083 { 00084 return &_sfIgnore; 00085 }
| const SFBool * osg::StateChunkBase::getSFIgnore | ( | void | ) | const [inline, inherited] |
Definition at line 75 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore.
00076 { 00077 return &_sfIgnore; 00078 }
| SFBool * osg::StateChunkBase::getSFIgnore | ( | void | ) | [inline, inherited] |
Definition at line 90 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore.
00091 { 00092 return &_sfIgnore; 00093 }
| bool & osg::StateChunkBase::editIgnore | ( | void | ) | [inline, inherited] |
Definition at line 99 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00100 { 00101 return _sfIgnore.getValue(); 00102 }
| const bool & osg::StateChunkBase::getIgnore | ( | void | ) | const [inline, inherited] |
Definition at line 106 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00107 { 00108 return _sfIgnore.getValue(); 00109 }
| bool & osg::StateChunkBase::getIgnore | ( | void | ) | [inline, inherited] |
Definition at line 114 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::getValue().
00115 { 00116 return _sfIgnore.getValue(); 00117 }
| void osg::StateChunkBase::setIgnore | ( | const bool & | value | ) | [inline, inherited] |
Definition at line 122 of file OSGStateChunkBase.inl.
References osg::StateChunkBase::_sfIgnore, and osg::SField< FieldTypeT, fieldNameSpace >::setValue().
| MFFieldContainerPtr & Attachment::getParents | ( | void | ) | [inherited] |
Definition at line 95 of file OSGAttachment.cpp.
00096 { 00097 return _parents; 00098 }
| 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().
| 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().
| 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::Image::setAttachmentField().
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::ShadeModelChunkBase::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::OffsetCameraDecoratorBase::createEmpty(), osg::OffCenterPerspectiveCameraBase::createEmpty(), osg::MultiSwitchBase::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::FogChunkBase::createEmpty(), osg::FogBase::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::ShadeModelChunkBase::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::OffsetCameraDecoratorBase::shallowCopy(), osg::OffCenterPerspectiveCameraBase::shallowCopy(), osg::MultiSwitchBase::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::FogChunkBase::shallowCopy(), osg::FogBase::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 #ifdef OSG_INVALID_PTR_CHECK 00168 result._id = *(reinterpret_cast<UInt32 *>(pTmp)); 00169 #endif 00170 00171 Thread::getCurrentChangeList()->addCreated( 00172 *(reinterpret_cast<UInt32 *>(pTmp))); 00173 00174 pTmp += sizeof(UInt32); 00175 00176 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00177 00178 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00179 { 00180 pTmp = 00181 reinterpret_cast<UInt8 *>(new (pTmp) ObjectType(*prototypeP)); 00182 00183 pTmp += sizeof(ObjectType); 00184 } 00185 00186 result->onCreate(prototypeP); 00187 00188 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00189 { 00190 aObject[i].onCreateAspect(aObject, prototypeP); 00191 } 00192 00193 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00194 00195 fprintf(stderr, "GV_MEM_FC_DBG : (%u) cc (%p|%u)\n", 00196 Thread::getAspect(), 00197 result._storeP, 00198 // ObjectType::getClassType().getCName(), 00199 ObjectType::getClassType().getId()); 00200 #endif 00201 00202 #ifdef OSG_DEBUG_TYPED_FCPTR 00203 result.updateTypedStore(); 00204 #endif 00205 }
| void osg::FieldContainer::newPtr | ( | ObjectPtrT & | result | ) | [inline, static, protected, inherited] |
Definition at line 208 of file OSGFieldContainerImpl.inl.
References osg::ChangeList::addCreated(), osg::PThreadBase::getAspect(), osg::PThreadBase::getCurrentChangeList(), osg::ThreadManager::getNumAspects(), osg::FieldContainerFactory::registerFieldContainer(), and osg::FieldContainerFactory::the().
00209 { 00210 typedef typename ObjectPtrT::StoredObjectType ObjectType; 00211 00212 UInt8 *pTmp; 00213 00214 result._containerSize = sizeof(ObjectType); 00215 00216 pTmp = 00217 static_cast<UInt8 *>(operator new( 00218 sizeof(Int32) + // ReferenceCount 00219 sizeof(UInt32) + // ContainerId 00220 sizeof(ObjectType) * ThreadManager::getNumAspects())); 00221 00222 *(reinterpret_cast<Int32 *>(pTmp)) = 0; 00223 00224 pTmp += sizeof(Int32); 00225 00226 result._storeP = (pTmp + sizeof(UInt32)); 00227 00228 #ifdef OSG_DEBUG_FCPTR 00229 result._typedStoreP = reinterpret_cast<FieldContainer *>(result._storeP); 00230 #endif 00231 00232 *(reinterpret_cast<UInt32 *>(pTmp)) = 00233 FieldContainerFactory::the()->registerFieldContainer(result); 00234 00235 #ifdef OSG_INVALID_PTR_CHECK 00236 result._id = *(reinterpret_cast<UInt32 *>(pTmp)); 00237 #endif 00238 00239 Thread::getCurrentChangeList()->addCreated( 00240 *(reinterpret_cast<UInt32 *>(pTmp))); 00241 00242 pTmp += sizeof(UInt32); 00243 00244 ObjectType *aObject = reinterpret_cast<ObjectType *>(pTmp); 00245 00246 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00247 { 00248 pTmp = reinterpret_cast<UInt8 *>(new (pTmp) ObjectType()); 00249 00250 pTmp += sizeof(ObjectType); 00251 } 00252 00253 result->onCreate(); 00254 00255 for(UInt32 i = 0; i < ThreadManager::getNumAspects(); i++) 00256 { 00257 aObject[i].onCreateAspect(aObject); 00258 } 00259 00260 #if defined(OSG_GV_BETA) && defined(OSG_DBG_MEM) 00261 fprintf(stderr, "GV_MEM_FC_DBG : (%u) c (%p|%u)\n", 00262 Thread::getAspect(), 00263 result._storeP, 00264 // ObjectType::getClassType().getCName(), 00265 ObjectType::getClassType().getId()); 00266 #endif 00267 00268 #ifdef OSG_DEBUG_TYPED_FCPTR 00269 result.updateTypedStore(); 00270 #endif 00271 }
| void osg::FieldContainer::beginEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
Definition at line 293 of file OSGFieldContainerImpl.inl.
| void osg::FieldContainer::endEditX | ( | const BitVector & | whichField, | |
| FieldTypeT & | field | |||
| ) | [inline, protected, inherited] |
Definition at line 299 of file OSGFieldContainerImpl.inl.
References osg::endEditCP().
00300 { 00301 FieldContainerPtr tmpPtr(this); 00302 endEditCP(tmpPtr, whichField); 00303 }
| void osg::FieldContainer::onCreateAspect | ( | const FieldContainer * | aspect0, | |
| const FieldContainer * | source = NULL | |||
| ) | [inline, protected, inherited] |
Reimplemented in osg::Window.
Definition at line 331 of file OSGFieldContainerImpl.inl.
friend class FieldContainer [friend] |
Reimplemented from osg::VertexProgramChunkBase.
Reimplemented in osg::FatBorderChunk, and osg::FatBorderChunkBase.
Definition at line 136 of file OSGVertexProgramChunk.h.
friend class VertexProgramChunkBase [friend] |
Definition at line 137 of file OSGVertexProgramChunk.h.
StateChunkClass VertexProgramChunk::_class [static, private] |
Reimplemented from osg::ProgramChunk.
Definition at line 139 of file OSGVertexProgramChunk.h.
Referenced by getClass(), and getStaticClass().
UInt32 VertexProgramChunk::_arbVertexProgram [static, private] |
Definition at line 145 of file OSGVertexProgramChunk.h.
Referenced by getExtension(), handleGL(), and VertexProgramChunk().
const osg::BitVector osg::VertexProgramChunkBase::MTInfluenceMask [static, inherited] |
(Inherited::MTInfluenceMask) |
(static_cast<BitVector>(0x0) << Inherited::NextFieldId)
Reimplemented from osg::ProgramChunkBase.
Reimplemented in osg::FatBorderChunkBase.
Definition at line 92 of file OSGVertexProgramChunkBase.h.
const osg::BitVector osg::ProgramChunkBase::ProgramFieldMask [static, inherited] |
(TypeTraits<BitVector>::One << ProgramChunkBase::ProgramFieldId)
Definition at line 104 of file OSGProgramChunkBase.h.
Referenced by osg::FatBorderChunk::activateWithFragmentBasedLighting(), osg::FatBorderChunk::activateWithStandardLighting(), osg::ProgramChunk::changed(), osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::executeSyncImpl(), and osg::ProgramChunkBase::getBinSize().
const osg::BitVector osg::ProgramChunkBase::ParamValuesFieldMask [static, inherited] |
(TypeTraits<BitVector>::One << ProgramChunkBase::ParamValuesFieldId)
Definition at line 105 of file OSGProgramChunkBase.h.
Referenced by osg::DVRIsoShader::activate_FragmentProgramShading(), osg::ProgramChunk::changed(), osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::executeSyncImpl(), osg::ProgramChunkBase::getBinSize(), osg::DisplayCalibration::updateGamma(), and osg::DisplayCalibration::updateMatrix().
const osg::BitVector osg::ProgramChunkBase::ParamNamesFieldMask [static, inherited] |
(TypeTraits<BitVector>::One << ProgramChunkBase::ParamNamesFieldId)
Definition at line 106 of file OSGProgramChunkBase.h.
Referenced by osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::executeSyncImpl(), and osg::ProgramChunkBase::getBinSize().
const osg::BitVector osg::ProgramChunkBase::GLIdFieldMask [static, inherited] |
(TypeTraits<BitVector>::One << ProgramChunkBase::GLIdFieldId)
Definition at line 107 of file OSGProgramChunkBase.h.
Referenced by osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::executeSyncImpl(), osg::ProgramChunkBase::getBinSize(), onCreate(), osg::FragmentProgramChunk::onCreate(), and osg::RemoteAspect::RemoteAspect().
std::string osg::ProgramChunkBase::_sfProgram [protected, inherited] |
The program source code.
Definition at line 209 of file OSGProgramChunkBase.h.
Referenced by osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::editProgram(), osg::ProgramChunkBase::editSFProgram(), osg::ProgramChunkBase::executeSyncImpl(), osg::ProgramChunkBase::getBinSize(), osg::ProgramChunkBase::getProgram(), osg::ProgramChunkBase::getSFProgram(), and osg::ProgramChunkBase::setProgram().
Vec4f osg::ProgramChunkBase::_mfParamValues [protected, inherited] |
Program Parameters
Definition at line 210 of file OSGProgramChunkBase.h.
Referenced by osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::editMFParamValues(), osg::ProgramChunkBase::editParamValues(), osg::ProgramChunkBase::executeSyncImpl(), osg::ProgramChunkBase::getBinSize(), osg::ProgramChunkBase::getMFParamValues(), and osg::ProgramChunkBase::getParamValues().
std::string osg::ProgramChunkBase::_mfParamNames [protected, inherited] |
Symbolic names for the program parameters.
Definition at line 211 of file OSGProgramChunkBase.h.
Referenced by osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::editMFParamNames(), osg::ProgramChunkBase::editParamNames(), osg::ProgramChunkBase::executeSyncImpl(), osg::ProgramChunkBase::getBinSize(), osg::ProgramChunkBase::getMFParamNames(), and osg::ProgramChunkBase::getParamNames().
UInt32 osg::ProgramChunkBase::_sfGLId [protected, inherited] |
The OpenGL ID of the program.
Definition at line 212 of file OSGProgramChunkBase.h.
Referenced by osg::ProgramChunkBase::copyFromBin(), osg::ProgramChunkBase::copyToBin(), osg::ProgramChunkBase::editGLId(), osg::ProgramChunkBase::editSFGLId(), osg::ProgramChunkBase::executeSyncImpl(), osg::ProgramChunkBase::getBinSize(), osg::ProgramChunkBase::getGLId(), osg::ProgramChunkBase::getSFGLId(), and osg::ProgramChunkBase::setGLId().
const osg::BitVector osg::StateChunkBase::IgnoreFieldMask [static, inherited] |
(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 171 of file OSGStateChunkBase.h.
Referenced by osg::StateChunkBase::copyFromBin(), osg::StateChunkBase::copyToBin(), osg::StateChunkBase::editIgnore(), osg::StateChunkBase::editSFIgnore(), 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::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(), osg::Geometry::~Geometry(), 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] |
(TypeTraits<BitVector>::One << NextFieldId)
Definition at line 75 of file OSGFieldContainerImpl.h.
const bool osg::FieldContainer::isNodeCore = false [static, inherited] |
Reimplemented in osg::NodeCore.
Definition at line 181 of file OSGFieldContainerImpl.h.
UInt32 osg::FieldContainer::_shares [protected, inherited] |
Definition at line 199 of file OSGFieldContainerImpl.h.
1.6.1