Sparkle 0.0.1
Loading...
Searching...
No Matches
spk::OpenGL::VertexArrayObject Class Reference

RAII wrapper for an OpenGL VAO. More...

#include <spk_vertex_array_object.hpp>

Inheritance diagram for spk::OpenGL::VertexArrayObject:
Inheritance graph
Collaboration diagram for spk::OpenGL::VertexArrayObject:
Collaboration graph

Public Member Functions

 VertexArrayObject ()
 Builds an empty VAO wrapper.
 VertexArrayObject (const VertexArrayObject &p_other)
 Copies VAO handle state from another wrapper.
VertexArrayObjectoperator= (const VertexArrayObject &p_other)
 Copies VAO handle state from another wrapper.
GLuint id () const
 Retrieves the VAO id, creating it on-demand.
Public Member Functions inherited from spk::ActivableObject
 ActivableObject ()
 Builds a deactivated object.
 ActivableObject (ActivationStatus p_initial)
 Builds with a custom initial activation state.
void activate ()
 Sets the state to Activated.
void deactivate ()
 Sets the state to Deactivated.
void toggle ()
 Toggles between activated and deactivated states.
bool isActive () const
 Checks whether the object is currently activated.
Contract addActivationCallback (const Job &p_callback)
 Registers a callback executed when the object activates.
Contract addDeactivationCallback (const Job &p_callback)
 Registers a callback executed when the object deactivates.
Public Member Functions inherited from spk::StatefulObject< ActivationStatus >
 StatefulObject (const ActivationStatus &p_initialState)
 Builds with an initial state.
StatefulObjectoperator= (const StatefulObject &p_other)=delete
void setState (const ActivationStatus &p_newState)
 Sets a new state and triggers callbacks registered for it.
ActivationStatus state () const
 Returns the current state.
Contract addCallback (const ActivationStatus &p_state, const Job &p_callback)
 Subscribes a callback for a specific state.

Additional Inherited Members

Public Types inherited from spk::ActivableObject
using Contract = StatefulObject<ActivationStatus>::Contract
 Subscription handle controlling callback lifetime.
using Job = StatefulObject<ActivationStatus>::Job
 Callback signature executed on activation state changes.
Public Types inherited from spk::StatefulObject< ActivationStatus >
using Contract
 Handle allowing subscribers to manage callback lifetimes.
using Job
 Callable invoked when the object transitions to a state.

Detailed Description

RAII wrapper for an OpenGL VAO.

See also
VAO

Constructor & Destructor Documentation

◆ VertexArrayObject()

spk::OpenGL::VertexArrayObject::VertexArrayObject ( const VertexArrayObject & p_other)

Copies VAO handle state from another wrapper.

Parameters
p_otherSource VAO.
Here is the call graph for this function:

Member Function Documentation

◆ id()

GLuint spk::OpenGL::VertexArrayObject::id ( ) const
inline

Retrieves the VAO id, creating it on-demand.

Returns
OpenGL VAO handle.

◆ operator=()

VertexArrayObject & spk::OpenGL::VertexArrayObject::operator= ( const VertexArrayObject & p_other)

Copies VAO handle state from another wrapper.

Parameters
p_otherSource VAO.
Returns
Reference to this VAO wrapper.
Here is the call graph for this function:

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