OpenSceneGraph 3.6.5
osg::Texture::TextureObject Class Reference

#include <Texture>

Inheritance diagram for osg::Texture::TextureObject:

Public Member Functions

 TextureObject (Texture *texture, GLuint id, GLenum target)
 TextureObject (Texture *texture, GLuint id, const TextureProfile &profile)
 TextureObject (Texture *texture, GLuint id, GLenum target, GLint numMipmapLevels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border)
bool match (GLenum target, GLint numMipmapLevels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border)
void bind ()
GLenum id () const
GLenum target () const
unsigned int size () const
void setTexture (Texture *texture)
TexturegetTexture () const
void setTimeStamp (double timestamp)
double getTimeStamp () const
void setAllocated (bool allocated=true)
void setAllocated (GLint numMipmapLevels, GLenum internalFormat, GLsizei width, GLsizei height, GLsizei depth, GLint border)
bool isAllocated () const
bool isReusable () const
void release ()
 release TextureObject to the orphan list to be reused or deleted.
Public Member Functions inherited from osg::GraphicsObject
 GraphicsObject ()
Public Member Functions inherited from osg::Referenced
 Referenced ()
 Referenced (bool threadSafeRefUnref)
 Deprecated, Referenced is now always uses thread safe ref/unref, use default Referenced() constructor instead.
 Referenced (const Referenced &)
Referencedoperator= (const Referenced &)
virtual void setThreadSafeRefUnref (bool)
 Deprecated, Referenced is always theadsafe so there method now has no effect and does not need to be called.
bool getThreadSafeRefUnref () const
 Get whether a mutex is used to ensure ref() and unref() are thread safe.
OpenThreads::Mutex * getRefMutex () const
 Get the mutex used to ensure thread safety of ref()/unref().
int ref () const
 Increment the reference count by one, indicating that this object has another pointer which is referencing it.
int unref () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it.
int unref_nodelete () const
 Decrement the reference count by one, indicating that a pointer to this object is no longer referencing it.
int referenceCount () const
 Return the number of pointers currently referencing this object.
ObserverSetgetObserverSet () const
 Get the ObserverSet if one is attached, otherwise return NULL.
ObserverSetgetOrCreateObserverSet () const
 Get the ObserverSet if one is attached, otherwise create an ObserverSet, attach it, then return this newly created ObserverSet.
void addObserver (Observer *observer) const
 Add a Observer that is observing this object, notify the Observer when this object gets deleted.
void removeObserver (Observer *observer) const
 Remove Observer that is observing this object.

Public Attributes

GLuint _id
TextureProfile _profile
TextureObjectSet_set
TextureObject_previous
TextureObject_next
Texture_texture
bool _allocated
unsigned int _frameLastUsed
double _timeStamp

Protected Member Functions

virtual ~TextureObject ()
Protected Member Functions inherited from osg::GraphicsObject
virtual ~GraphicsObject ()
Protected Member Functions inherited from osg::Referenced
virtual ~Referenced ()
void signalObserversAndDelete (bool signalDelete, bool doDelete) const
void deleteUsingDeleteHandler () const

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.
static void setDeleteHandler (DeleteHandler *handler)
 Set a DeleteHandler to which deletion of all referenced counted objects will be delegated.
static DeleteHandlergetDeleteHandler ()
 Get a DeleteHandler.
Protected Attributes inherited from osg::Referenced
OpenThreads::AtomicPtr _observerSet
OpenThreads::Atomic _refCount

Constructor & Destructor Documentation

◆ TextureObject() [1/3]

osg::Texture::TextureObject::TextureObject ( Texture * texture,
GLuint id,
GLenum target )
inline

◆ TextureObject() [2/3]

osg::Texture::TextureObject::TextureObject ( Texture * texture,
GLuint id,
const TextureProfile & profile )
inline

◆ TextureObject() [3/3]

osg::Texture::TextureObject::TextureObject ( Texture * texture,
GLuint id,
GLenum target,
GLint numMipmapLevels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border )
inline

◆ ~TextureObject()

virtual osg::Texture::TextureObject::~TextureObject ( )
protectedvirtual

Member Function Documentation

◆ bind()

void osg::Texture::TextureObject::bind ( )

◆ getTexture()

Texture * osg::Texture::TextureObject::getTexture ( ) const
inline

◆ getTimeStamp()

double osg::Texture::TextureObject::getTimeStamp ( ) const
inline

References _timeStamp.

◆ id()

GLenum osg::Texture::TextureObject::id ( ) const
inline

References _id.

Referenced by TextureObject(), TextureObject(), and TextureObject().

◆ isAllocated()

bool osg::Texture::TextureObject::isAllocated ( ) const
inline

References _allocated.

◆ isReusable()

bool osg::Texture::TextureObject::isReusable ( ) const
inline

References _allocated, and _profile.

Referenced by match().

◆ match()

bool osg::Texture::TextureObject::match ( GLenum target,
GLint numMipmapLevels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border )
inline

References _profile, isReusable(), and target().

◆ release()

void osg::Texture::TextureObject::release ( )

release TextureObject to the orphan list to be reused or deleted.

◆ setAllocated() [1/2]

void osg::Texture::TextureObject::setAllocated ( bool allocated = true)
inline

References _allocated.

◆ setAllocated() [2/2]

void osg::Texture::TextureObject::setAllocated ( GLint numMipmapLevels,
GLenum internalFormat,
GLsizei width,
GLsizei height,
GLsizei depth,
GLint border )

◆ setTexture()

void osg::Texture::TextureObject::setTexture ( Texture * texture)
inline

◆ setTimeStamp()

void osg::Texture::TextureObject::setTimeStamp ( double timestamp)
inline

References _timeStamp.

◆ size()

unsigned int osg::Texture::TextureObject::size ( ) const
inline

References _profile.

◆ target()

GLenum osg::Texture::TextureObject::target ( ) const
inline

References _profile.

Referenced by match(), TextureObject(), and TextureObject().

Member Data Documentation

◆ _allocated

bool osg::Texture::TextureObject::_allocated

◆ _frameLastUsed

unsigned int osg::Texture::TextureObject::_frameLastUsed

◆ _id

GLuint osg::Texture::TextureObject::_id

◆ _next

TextureObject* osg::Texture::TextureObject::_next

◆ _previous

TextureObject* osg::Texture::TextureObject::_previous

◆ _profile

TextureProfile osg::Texture::TextureObject::_profile

◆ _set

TextureObjectSet* osg::Texture::TextureObject::_set

◆ _texture

Texture* osg::Texture::TextureObject::_texture

◆ _timeStamp

double osg::Texture::TextureObject::_timeStamp

The documentation for this class was generated from the following file:

osg logo
Generated at Sun Jul 27 2025 00:00:00 for the OpenSceneGraph by doxygen 1.14.0.