Binder Class

class QOpenGLVertexArrayObject::Binder

Die Klasse QOpenGLVertexArrayObject::Binder ist eine Komfortklasse, die bei der Bindung und Freigabe von OpenGL-Vertex-Array-Objekten hilft. Mehr...

Hinweis: Alle Funktionen in dieser Klasse sind reentrant.

Öffentliche Funktionen

Binder(QOpenGLVertexArrayObject *v)
~Binder()
void rebind()
void release()

Detaillierte Beschreibung

QOpenGLVertexArrayObject::Binder ist eine einfache Behelfsklasse, die bei der Bindung und Freigabe von QOpenGLVertexArrayObject -Instanzen helfen kann. Diese Klasse ist für QOpenGLVertexArrayObject das, was QMutexLocker für QMutex ist.

Diese Klasse implementiert das RAII-Prinzip, das hilft, das Verhalten in komplexem Code oder bei Vorhandensein von Ausnahmen sicherzustellen.

Der Konstruktor dieser Klasse akzeptiert eine QOpenGLVertexArrayObject (VAO) als Argument und versucht, die VAO zu binden, indem er QOpenGLVertexArrayObject::create() aufruft, falls erforderlich. Der Destruktor dieser Klasse ruft QOpenGLVertexArrayObject::release() auf, wodurch die Bindung der VAO aufgehoben wird.

Bei Bedarf kann die Bindung der VAO mit der Funktion release() vorübergehend aufgehoben und mit rebind() wieder hergestellt werden.

Siehe auch QOpenGLVertexArrayObject.

Dokumentation der Mitgliedsfunktionen

Binder::Binder(QOpenGLVertexArrayObject *v)

Erstellt ein QOpenGLVertexArrayObject::Binder Objekt und bindet v durch den Aufruf von QOpenGLVertexArrayObject::bind(). Falls erforderlich, wird zunächst QOpenGLVertexArrayObject::create() aufgerufen.

[noexcept] Binder::~Binder()

Zerstört das QOpenGLVertexArrayObject::Binder und gibt das zugehörige Vertex-Array-Objekt frei.

void Binder::rebind()

Kann verwendet werden, um das zugehörige Vertex-Array-Objekt neu zu binden.

Siehe auch release().

void Binder::release()

Kann verwendet werden, um das zugehörige Vertex-Array-Objekt vorübergehend freizugeben.

Siehe auch rebind().

© 2025 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.