Tatooine
Public Types | Public Member Functions | Private Attributes | List of all members
tatooine::gl::indexeddata< Ts > Class Template Reference

#include <indexeddata.h>

Inheritance diagram for tatooine::gl::indexeddata< Ts >:
[legend]
Collaboration diagram for tatooine::gl::indexeddata< Ts >:
[legend]

Public Types

using vbo_t = gl::vertexbuffer< Ts... >
 
using ibo_t = gl::indexbuffer
 
using vbo_value_type = typename vbo_t::value_type
 
using ibo_value_type = unsigned int
 
using vbo_data_vec = std::vector< vbo_value_type >
 
using ibo_data_vec = std::vector< ibo_value_type >
 

Public Member Functions

 indexeddata ()=default
 
 indexeddata (indexeddata const &other)
 
 indexeddata (indexeddata &&other) noexcept
 
auto operator= (indexeddata const &other) -> indexeddata &
 
auto operator= (indexeddata &&other) noexcept -> indexeddata &
 
 indexeddata (vbo_data_vec const &vbo_data, ibo_data_vec const &ibo_data)
 
 indexeddata (size_t const vbo_size, size_t const ibo_size)
 
auto create_vao () const
 
void clear ()
 
void draw_points () const
 
void draw_line_strip () const
 
void draw_line_loop () const
 
void draw_lines () const
 
void draw_line_strip_adjacency () const
 
void draw_triangle_strip () const
 
void draw_triangle_fan () const
 
void draw_triangles () const
 
void draw_triangle_strip_adjacency () const
 
void draw_triangles_adjacency () const
 
void draw_patches () const
 
auto indexbuffer () -> auto &
 
auto indexbuffer () const -> auto const &
 
auto vertexbuffer () -> auto &
 
auto vertexbuffer () const -> auto const &
 
auto mutex () -> auto &
 
auto mutex () const -> auto const &
 

Private Attributes

vbo_t m_vbo
 
ibo_t m_ibo
 
std::mutex m_mutex
 

Member Typedef Documentation

◆ ibo_data_vec

template<typename... Ts>
using tatooine::gl::indexeddata< Ts >::ibo_data_vec = std::vector<ibo_value_type>

◆ ibo_t

template<typename... Ts>
using tatooine::gl::indexeddata< Ts >::ibo_t = gl::indexbuffer

◆ ibo_value_type

template<typename... Ts>
using tatooine::gl::indexeddata< Ts >::ibo_value_type = unsigned int

◆ vbo_data_vec

template<typename... Ts>
using tatooine::gl::indexeddata< Ts >::vbo_data_vec = std::vector<vbo_value_type>

◆ vbo_t

template<typename... Ts>
using tatooine::gl::indexeddata< Ts >::vbo_t = gl::vertexbuffer<Ts...>

◆ vbo_value_type

template<typename... Ts>
using tatooine::gl::indexeddata< Ts >::vbo_value_type = typename vbo_t::value_type

Constructor & Destructor Documentation

◆ indexeddata() [1/5]

template<typename... Ts>
tatooine::gl::indexeddata< Ts >::indexeddata ( )
default

◆ indexeddata() [2/5]

template<typename... Ts>
tatooine::gl::indexeddata< Ts >::indexeddata ( indexeddata< Ts > const &  other)
inline

◆ indexeddata() [3/5]

template<typename... Ts>
tatooine::gl::indexeddata< Ts >::indexeddata ( indexeddata< Ts > &&  other)
inlinenoexcept

◆ indexeddata() [4/5]

template<typename... Ts>
tatooine::gl::indexeddata< Ts >::indexeddata ( vbo_data_vec const &  vbo_data,
ibo_data_vec const &  ibo_data 
)
inline

◆ indexeddata() [5/5]

template<typename... Ts>
tatooine::gl::indexeddata< Ts >::indexeddata ( size_t const  vbo_size,
size_t const  ibo_size 
)
inline

Member Function Documentation

◆ clear()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::clear ( )
inline

◆ create_vao()

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::create_vao ( ) const
inline

◆ draw_line_loop()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_line_loop ( ) const
inline

◆ draw_line_strip()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_line_strip ( ) const
inline

◆ draw_line_strip_adjacency()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_line_strip_adjacency ( ) const
inline

◆ draw_lines()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_lines ( ) const
inline

◆ draw_patches()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_patches ( ) const
inline

◆ draw_points()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_points ( ) const
inline

◆ draw_triangle_fan()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_triangle_fan ( ) const
inline

◆ draw_triangle_strip()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_triangle_strip ( ) const
inline

◆ draw_triangle_strip_adjacency()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_triangle_strip_adjacency ( ) const
inline

◆ draw_triangles()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_triangles ( ) const
inline

◆ draw_triangles_adjacency()

template<typename... Ts>
void tatooine::gl::indexeddata< Ts >::draw_triangles_adjacency ( ) const
inline

◆ indexbuffer() [1/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::indexbuffer ( ) -> auto&
inline

◆ indexbuffer() [2/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::indexbuffer ( ) const -> auto const&
inline

◆ mutex() [1/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::mutex ( ) -> auto&
inline

◆ mutex() [2/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::mutex ( ) const -> auto const&
inline

◆ operator=() [1/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::operator= ( indexeddata< Ts > &&  other) -> indexeddata&
inlinenoexcept

◆ operator=() [2/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::operator= ( indexeddata< Ts > const &  other) -> indexeddata&
inline

◆ vertexbuffer() [1/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::vertexbuffer ( ) -> auto&
inline

◆ vertexbuffer() [2/2]

template<typename... Ts>
auto tatooine::gl::indexeddata< Ts >::vertexbuffer ( ) const -> auto const&
inline

Member Data Documentation

◆ m_ibo

template<typename... Ts>
ibo_t tatooine::gl::indexeddata< Ts >::m_ibo
private

◆ m_mutex

template<typename... Ts>
std::mutex tatooine::gl::indexeddata< Ts >::m_mutex
mutableprivate

◆ m_vbo

template<typename... Ts>
vbo_t tatooine::gl::indexeddata< Ts >::m_vbo
private

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