|
OpenSceneGraph
|


Public Types | |
| enum | Type { ArrayType = 0, ByteArrayType = 1, ShortArrayType = 2, IntArrayType = 3, UByteArrayType = 4, UShortArrayType = 5, UIntArrayType = 6, FloatArrayType = 7, DoubleArrayType = 8, Vec2bArrayType = 9, Vec3bArrayType = 10, Vec4bArrayType = 11, Vec2sArrayType = 12, Vec3sArrayType = 13, Vec4sArrayType = 14, Vec2iArrayType = 15, Vec3iArrayType = 16, Vec4iArrayType = 17, Vec2ubArrayType = 18, Vec3ubArrayType = 19, Vec4ubArrayType = 20, Vec2usArrayType = 21, Vec3usArrayType = 22, Vec4usArrayType = 23, Vec2uiArrayType = 24, Vec3uiArrayType = 25, Vec4uiArrayType = 26, Vec2ArrayType = 27, Vec3ArrayType = 28, Vec4ArrayType = 29, Vec2dArrayType = 30, Vec3dArrayType = 31, Vec4dArrayType = 32, MatrixArrayType = 33, MatrixdArrayType = 34 } |
| enum | Binding { BIND_UNDEFINED =-1, BIND_OFF =0, BIND_OVERALL =1, BIND_PER_PRIMITIVE_SET =2, BIND_PER_VERTEX =4 } |
Public Types inherited from osg::Object | |
| enum | DataVariance { DYNAMIC, STATIC, UNSPECIFIED } |
Public Member Functions | |
| Array (Type arrayType=ArrayType, GLint dataSize=0, GLenum dataType=0, Binding binding=BIND_UNDEFINED) | |
| Array (const Array &array, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| virtual bool | isSameKindAs (const Object *obj) const |
| virtual const char * | libraryName () const |
| return the name of the object's library. More... | |
| virtual const char * | className () const |
| return the name of the object's class type. More... | |
| virtual void | accept (ArrayVisitor &)=0 |
| virtual void | accept (ConstArrayVisitor &) const =0 |
| virtual void | accept (unsigned int index, ValueVisitor &)=0 |
| virtual void | accept (unsigned int index, ConstValueVisitor &) const =0 |
| virtual int | compare (unsigned int lhs, unsigned int rhs) const =0 |
| Return -1 if lhs element is less than rhs element, 0 if equal, 1 if lhs element is greater than rhs element. More... | |
| Type | getType () const |
| GLint | getDataSize () const |
| GLenum | getDataType () const |
| virtual osg::Array * | asArray () |
| virtual const osg::Array * | asArray () const |
| virtual unsigned int | getElementSize () const =0 |
| virtual const GLvoid * | getDataPointer () const =0 |
| virtual unsigned int | getTotalDataSize () const =0 |
| virtual unsigned int | getNumElements () const =0 |
| virtual void | reserveArray (unsigned int num)=0 |
| virtual void | resizeArray (unsigned int num)=0 |
| void | setBinding (Binding binding) |
| Specify how this array should be passed to OpenGL. More... | |
| Binding | getBinding () const |
| Get how this array should be passed to OpenGL. More... | |
| void | setNormalize (bool normalize) |
| Specify whether the array data should be normalized by OpenGL. More... | |
| bool | getNormalize () const |
| Get whether the array data should be normalized by OpenGL. More... | |
| void | setPreserveDataType (bool preserve) |
| Set hint to ask that the array data is passed via integer or double, or normal setVertexAttribPointer function. More... | |
| bool | getPreserveDataType () const |
| Get hint to ask that the array data is passed via integer or double, or normal setVertexAttribPointer function. More... | |
| virtual void | trim () |
| Frees unused space on this vector - i.e. More... | |
| void | setVertexBufferObject (osg::VertexBufferObject *vbo) |
| Set the VertexBufferObject. More... | |
| osg::VertexBufferObject * | getVertexBufferObject () |
| Get the VertexBufferObject. More... | |
| const osg::VertexBufferObject * | getVertexBufferObject () const |
| Get the const VertexBufferObject. More... | |
Public Member Functions inherited from osg::BufferData | |
| BufferData (const BufferData &bd, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| Copy constructor using CopyOp to manage deep vs shallow copy. More... | |
| virtual osg::PrimitiveSet * | asPrimitiveSet () |
| virtual const osg::PrimitiveSet * | asPrimitiveSet () const |
| virtual osg::Image * | asImage () |
| virtual const osg::Image * | asImage () const |
| void | setBufferObject (BufferObject *bufferObject) |
| BufferObject * | getBufferObject () |
| const BufferObject * | getBufferObject () const |
| void | setBufferIndex (unsigned int index) |
| unsigned int | getBufferIndex () const |
| GLBufferObject * | getGLBufferObject (unsigned int contextID) const |
| GLBufferObject * | getOrCreateGLBufferObject (unsigned int contextID) const |
| void | setModifiedCallback (ModifiedCallback *md) |
| ModifiedCallback * | getModifiedCallback () |
| const ModifiedCallback * | getModifiedCallback () const |
| void | dirty () |
| Dirty the primitive, which increments the modified count, to force buffer objects to update. More... | |
| void | setModifiedCount (unsigned int value) |
| Set the modified count value. More... | |
| unsigned int | getModifiedCount () const |
| Get modified count value. More... | |
| virtual void | resizeGLObjectBuffers (unsigned int maxSize) |
| Resize any per context GLObject buffers to specified size. More... | |
| void | releaseGLObjects (State *state=0) const |
| If State is non-zero, this function releases OpenGL objects for the specified graphics context. More... | |
| unsigned int | getNumClients () const |
| void | addClient (osg::Object *) |
| void | removeClient (osg::Object *) |
Public Member Functions inherited from osg::Object | |
| Object () | |
| Construct an object. More... | |
| Object (bool threadSafeRefUnref) | |
| Object (const Object &, const CopyOp ©op=CopyOp::SHALLOW_COPY) | |
| Copy constructor, optional CopyOp object can be used to control shallow vs deep copying of dynamic data. More... | |
| virtual Object * | cloneType () const =0 |
| Clone the type of an object, with Object* return type. More... | |
| virtual Object * | clone (const CopyOp &) const =0 |
| Clone an object, with Object* return type. More... | |
| std::string | getCompoundClassName () const |
| return the compound class name that combines the library name and class name. More... | |
| virtual Node * | asNode () |
| Convert 'this' into a Node pointer if Object is a Node, otherwise return 0. More... | |
| virtual const Node * | asNode () const |
| convert 'const this' into a const Node pointer if Object is a Node, otherwise return 0. More... | |
| virtual NodeVisitor * | asNodeVisitor () |
| Convert 'this' into a NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
| virtual const NodeVisitor * | asNodeVisitor () const |
| convert 'const this' into a const NodeVisitor pointer if Object is a NodeVisitor, otherwise return 0. More... | |
| virtual StateAttribute * | asStateAttribute () |
| Convert 'this' into a StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
| virtual const StateAttribute * | asStateAttribute () const |
| convert 'const this' into a const StateAttribute pointer if Object is a StateAttribute, otherwise return 0. More... | |
| virtual Uniform * | asUniform () |
| Convert 'this' into a Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
| virtual const Uniform * | asUniform () const |
| convert 'const this' into a const Uniform pointer if Object is a Uniform, otherwise return 0. More... | |
| virtual void | setThreadSafeRefUnref (bool threadSafe) |
| Set whether to use a mutex to ensure ref() and unref() are thread safe. More... | |
| virtual void | setName (const std::string &name) |
| Set the name of object using C++ style string. More... | |
| void | setName (const char *name) |
| Set the name of object using a C style string. More... | |
| const std::string & | getName () const |
| Get the name of object. More... | |
| void | setDataVariance (DataVariance dv) |
| Set the data variance of this object. More... | |
| DataVariance | getDataVariance () const |
| Get the data variance of this object. More... | |
| virtual void | computeDataVariance () |
| Compute the DataVariance based on an assessment of callback etc. More... | |
| void | setUserDataContainer (osg::UserDataContainer *udc) |
| set the UserDataContainer object. More... | |
| template<class T > | |
| void | setUserDataContainer (const ref_ptr< T > &udc) |
| osg::UserDataContainer * | getUserDataContainer () |
| get the UserDataContainer attached to this object. More... | |
| const osg::UserDataContainer * | getUserDataContainer () const |
| get the const UserDataContainer attached to this object. More... | |
| osg::UserDataContainer * | getOrCreateUserDataContainer () |
| Convenience method that returns the UserDataContainer, and if one doesn't already exist creates and assigns a DefaultUserDataContainer to the Object and then return this new UserDataContainer. More... | |
| virtual void | setUserData (Referenced *obj) |
| Set user data, data must be subclassed from Referenced to allow automatic memory handling. More... | |
| template<class T > | |
| void | setUserData (const ref_ptr< T > &ud) |
| virtual Referenced * | getUserData () |
| Get user data. More... | |
| virtual const Referenced * | getUserData () const |
| Get const user data. More... | |
| template<typename T > | |
| bool | getUserValue (const std::string &name, T &value) const |
| Convenience method that casts the named UserObject to osg::TemplateValueObject<T> and gets the value. More... | |
| template<typename T > | |
| void | setUserValue (const std::string &name, const T &value) |
| Convenience method that creates the osg::TemplateValueObject<T> to store the specified value and adds it as a named UserObject. More... | |
| template<typename T > | |
| BoolValueObject UCharValueObject UShortValueObject UIntValueObject DoubleValueObject Vec3fValueObject Vec2dValueObject Vec4dValueObject PlaneValueObject MatrixdValueObject BoundingBoxdValueObject BoundingSpheredValueObject bool | getUserValue (const std::string &name, T &value) const |
| provide implementation of osg::Object::getUserValue(..) template | |
Public Member Functions inherited from osg::Referenced | |
| Referenced (bool threadSafeRefUnref) | |
| Referenced (const Referenced &) | |
| Referenced & | operator= (const Referenced &) |
| bool | getThreadSafeRefUnref () const |
| Get whether a mutex is used to ensure ref() and unref() are thread safe. More... | |
| bool | getThreadSafeRefUnref () const |
| OpenThreads::Mutex * | getRefMutex () const |
| Get the mutex used to ensure thread safety of ref()/unref(). More... | |
| OpenThreads::Mutex * | getRefMutex () const |
| int | ref () const |
| Increment the reference count by one, indicating that this object has another pointer which is referencing it. More... | |
| int | unref () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
| int | unref_nodelete () const |
| Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it. More... | |
| int | referenceCount () const |
| Return the number of pointers currently referencing this object. More... | |
| ObserverSet * | getObserverSet () const |
| Get the ObserverSet if one is attached, otherwise return NULL. More... | |
| ObserverSet * | getOrCreateObserverSet () const |
| Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet. More... | |
| void | addObserver (Observer *observer) const |
| Add a Observer that is observing this object, notify the Observer when this object gets deleted. More... | |
| void | removeObserver (Observer *observer) const |
| Remove Observer that is observing this object. More... | |
Protected Attributes | |
| Type | _arrayType |
| GLint | _dataSize |
| GLenum | _dataType |
| Binding | _binding |
| bool | _normalize |
| bool | _preserveDataType |
Protected Attributes inherited from osg::BufferData | |
| unsigned int | _modifiedCount |
| unsigned int | _bufferIndex |
| osg::ref_ptr< BufferObject > | _bufferObject |
| osg::ref_ptr< ModifiedCallback > | _modifiedCallback |
| unsigned int | _numClients |
Protected Attributes inherited from osg::Object | |
| std::string | _name |
| DataVariance | _dataVariance |
| osg::UserDataContainer * | _userDataContainer |
Protected Attributes inherited from osg::Referenced | |
| OpenThreads::AtomicPtr | _observerSet |
| OpenThreads::Atomic | _refCount |
| OpenThreads::Mutex * | _refMutex |
| int | _refCount |
| void * | _observerSet |
Additional Inherited Members | |
Static Public Member Functions inherited from osg::Referenced | |
| static OpenThreads::Mutex * | getGlobalReferencedMutex () |
| Get the optional global Referenced mutex, this can be shared between all osg::Referenced. More... | |
| static void | setThreadSafeReferenceCounting (bool enableThreadSafeReferenceCounting) |
| Set whether reference counting should use a mutex for thread safe reference counting. More... | |
| static bool | getThreadSafeReferenceCounting () |
| Get whether reference counting is active. More... | |
| static void | setDeleteHandler (DeleteHandler *handler) |
| Set a DeleteHandler to which deletion of all referenced counted objects will be delegated. More... | |
| static DeleteHandler * | getDeleteHandler () |
| Get a DeleteHandler. More... | |
Protected Member Functions inherited from osg::Object | |
| virtual | ~Object () |
| Object destructor. More... | |
Protected Member Functions inherited from osg::Referenced | |
| void | signalObserversAndDelete (bool signalDelete, bool doDelete) const |
| void | deleteUsingDeleteHandler () const |
|
virtual |
return the name of the object's class type.
Must be defined by derived classes.
Reimplemented from osg::BufferData.
|
pure virtual |
Return -1 if lhs element is less than rhs element, 0 if equal, 1 if lhs element is greater than rhs element.
Implemented in osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, and osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >.
|
inline |
Get how this array should be passed to OpenGL.
|
inline |
Get whether the array data should be normalized by OpenGL.
|
inline |
Get hint to ask that the array data is passed via integer or double, or normal setVertexAttribPointer function.
|
inline |
Get the VertexBufferObject.
If no VBO is assigned returns NULL
|
inline |
Get the const VertexBufferObject.
If no VBO is assigned returns NULL
|
inlinevirtual |
return the name of the object's library.
Must be defined by derived classes. The OpenSceneGraph convention is that the namespace of a library is the same as the library name.
Reimplemented from osg::BufferData.
|
inline |
Specify how this array should be passed to OpenGL.
|
inline |
Specify whether the array data should be normalized by OpenGL.
|
inline |
Set hint to ask that the array data is passed via integer or double, or normal setVertexAttribPointer function.
|
inline |
Set the VertexBufferObject.
|
inlinevirtual |
Frees unused space on this vector - i.e.
the difference between size() and max_size() of the underlying vector.
Reimplemented in osg::TemplateIndexArray< T, ARRAYTYPE, DataSize, DataType >, and osg::TemplateArray< T, ARRAYTYPE, DataSize, DataType >.
1.8.13